الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الحصول على الإسم بالكامل

بدأه himanasser في 30 يناير 2014 · 1 رد · 739 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد الحصول على الإسم بالكامل من قاعدة البيانات على اساس ان قاعدة البيانات بها الاسم الأول والإسم الثاني والإسم الأخير وكل واحد منهم منفصل وأستخدم الهايبرنت وهذه محاولاتي إلى انه يظهر لي خطأ لكي اضع الإسم الكامل في قائمة

	public List<Employee> findAllNames() {
		List<Employee> employeeList = new ArrayList<Employee>();
		transaction = session.beginTransaction();
		try {
			employeeList = session.createQuery("SELECT firstName & lastName FROM Employee").list();
			for (iterator = employeeList.iterator();iterator.hasNext();) {
				String strEmployee = (String) iterator.next();
//				System.out.println(strEmployee);
			}
			transaction.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
		}
		return employeeList;
	}
#2

الــ createQuery نمرر لها استعلام بلغة HQL  ..و تعيد لنا بالدالة list  تعيد list  من الــ entity  التي لدينا (Employee) مثلا .

الــ  createSQLQuery نمرر لها استعلام بلغة SQL  .. و تعيد لنا  (بعد استدعاء الدالة list تعيد ) تعيد  List   من الــ Object  و في حال لدينا مثلا عمود واحد من نوع String  فهي تعيد  لنا List  من الــ String  .

يمكن جعل الـ createSQLQuery تعيد لنا Entity  كما يلي ملثلا :

List Employees = session.CreateSQLQuery("SELECT * FROM Employee").addEntity(Employee.class).list();

رابط .

في mysql  , يتم ربط السلاسل بالدالة concat  كمايلي :

import java.util.Iterator;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class Test1
{
  
    public static void main(String[] args)
    {
        SessionFactory factory = new Configuration().configure().buildSessionFactory();
        Session session = factory.openSession();
        Transaction tx = null;
        try
        {
            tx = session.beginTransaction();

            List fullNameList = session.createSQLQuery("SELECT  concat(firstName , ' ' , firstName) FROM Employee").list();

            for (Iterator iterator = fullNameList.iterator(); iterator.hasNext();)
            {
                String fullName = (String) iterator.next();
                System.out.println(fullName);
            }
            tx.commit();
        } catch (HibernateException e)
        {
            if (tx != null)
                tx.rollback();
            e.printStackTrace();
        } finally
        {
            session.close();
        }

    }
}

تم تعديل هذه المشاركة بواسطة حسام الشامي في 30 يناير 2014 في 20:30

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

مواضيع مشابهة