´ðËÜÁàºî †HQL¤Ç¥¯¥¨¥ê¤òȯ¹Ô¤¹¤ë †SessionFactory sessionfactory = config.buildSessionFactory();
session = sessionfactory.openSession();
List list = session.find("from UserId as userid where userid.userId like 'Masatomi%'");
¢¬ ·ë²Ì(UserId¥¯¥é¥¹)¤Î³ÊǼ¤µ¤ì¤¿List¤¬Ê֤äƤ¯¤ë
Hibernate3.0¤«¤é¾å¤Îfind¤Ïdeprecated¤Ë¤Ê¤ê¤Þ¤·¤¿¡£3.0¤«¤é¤Ï Query query = session.createQuery
("from UserId as userid where userid.userId like 'Masatomi%'");
List messages = query.list();
¤È¤·¤Æ¤¯¤À¤µ¤¤¡£ HQL¤Îʸˡ¤Ê¤É¤Ï¤¤¤í¤ó¤Ê¥µ¥¤¥È¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç³ä°¦¡£¾å¤Î°ÕÌ£¤À¤±¡£ from UserId[1] as userid[2] where userid[2].userId[3] like 'Masatomi%' ¢¬ °ÕÌ£¤Ï¡¢[1]¤Î¥¯¥é¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£¾ò·ï¤Ï[3]¤Î¥Õ¥£¡¼¥ë¥É¤¬'Masatomi%'¤Ç¤¢¤ë¤è¤¦¤Ê¥ì¥³¡¼¥É ¢¬ [2]¤Ï¥¨¥¤¥ê¥¢¥¹¤Ê¤ó¤Ç¤Ê¤ó¤Ç¤â¤è¤¤¤Ç¤·¤ç¤¦ Hibernate¤Î°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¡¢±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È¡¢Ê¬Î¥¥ª¥Ö¥¸¥§¥¯¥È †°ì»þ¥ª¥Ö¥¸¥§¥¯¥È †Ä̾ï¤ÎJava¥ª¥Ö¥¸¥§¥¯¥È¡£new¤·¤¿¥ä¥Ä¡£¥»¥Ã¥·¥ç¥ó¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤Ê¤¤¡£Âбþ¤¹¤ë¥í¥¦¤¬¥Æ¡¼¥Ö¥ë¤Ë¤Ê¤¤¡£ ±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È †¥»¥Ã¥·¥ç¥ó¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤ë¡£Âбþ¤¹¤ë¥í¥¦¤¬¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ë¡£ ʬΥ¥ª¥Ö¥¸¥§¥¯¥È †¥»¥Ã¥·¥ç¥ó¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤Ê¤¤¡£Âбþ¤¹¤ë¥í¥¦¤¬¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ë¡£¥»¥Ã¥·¥ç¥ó¤òÊĤ¸¤¿¤é¤³¤¦¤Ê¤ë¡£ ³Æ¾õÂ֤ؤÎÁ«°ÜÊýË¡ †°ì»þ¥ª¥Ö¥¸¥§¥¯¥È ---save---> ±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È <-------update---------- ʬΥ¥ª¥Ö¥¸¥§¥¯¥È °ì»þ¥ª¥Ö¥¸¥§¥¯¥È <--delete-- ±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È --evict,session.close--> ʬΥ¥ª¥Ö¥¸¥§¥¯¥È °ì»þ¥ª¥Ö¥¸¥§¥¯¥È --saveOrUpdate--> ±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È ʬΥ¥ª¥Ö¥¸¥§¥¯¥È --saveOrUpdate--> ±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È ¥Ç¥Ð¥Ã¥°Ä¥¤Ã¤Æ¡¢¤¿¤á¤·¤Æ¤ß¤¿ †Åö¤¿¤êÁ°¤Î»ö¤ò¤Þ¤È¤á¤Æ¤Þ¤¹¡£¡£¡£ ʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤òsave¤¹¤ë¤Èinsertʸ¤¬Áö¤Ã¤¿ †final SessionFactory sessionFactory = getSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setName("kino");
session.save(user);
System.out.println(user);
tx.commit(); <-¤³¤Î½èÍý¸å¡¢insert¤¬Áö¤ë
session.flush();
session.close();
System.out.println(user);
session = sessionFactory.openSession();
tx = session.beginTransaction();
session.save(user); ¤µ¤Ã¤¤ÎʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤òsave¤·¤Æ¤ë
// session.update(user);
// user.setName("hogehoge");
tx.commit(); <-¤³¤Î½èÍý¸å¡¢insert¤¬Áö¤ë(update¤Ç¤Ï¤Ê¤¤)
session.flush();
session.close();
ʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤òsave¤¹¤ë¤È¡¢insert¤¬Áö¤Ã¤¿ ʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤òupdate¤¹¤ë¤Èupdateʸ¤¬Áö¤Ã¤¿(±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ë¡¢¤È¤¤¤¦°ÕÌ£¤Çupdateʸ¤¬Áö¤Ã¤Æ¤ë) †final SessionFactory sessionFactory = getSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setName("kino");
session.save(user);
System.out.println(user);
tx.commit(); <-¤³¤Î½èÍý¸å¡¢insert¤¬Áö¤ë
session.flush();
session.close();
System.out.println(user);
session = sessionFactory.openSession();
tx = session.beginTransaction();
//session.save(user);
session.update(user); ¤µ¤Ã¤¤ÎʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤òupdate¤·¤Æ¤ë
user.setName("hogehoge");
tx.commit(); <-¤³¤Î½èÍý¸å¡¢update¤¬Áö¤ë¡£setName¤·¤Æ¤ë¤±¤É¡¢
¾å¤Îupdate¤ÈÊ»¤»¤Æ°ì²ó¤À¤±update¤¬Áö¤ë
(setName¤·¤Ê¤¯¤Æ¤â°ì²ó¤Ïupdate¤¬Áö¤Ã¤¿)
session.flush();
session.close();
ʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤òupdate¤¹¤ë¤È¡¢updateʸ¤¬Áö¤Ã¤¿¡£¤¿¤À¤³¤ì¤ÏʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤ò¤Õ¤¿¤¿¤Ó±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤·¤¿¤À¤±¡£SQL¤Îupdateʸ¤È¤Ï¤Á¤ç¤Ã¤È°ÕÌ£¤¬°ã¤¦¡£¤Á¤Ê¤ß¤Ëupdateʸ¤òȯ¹Ô¤·¤Ê¤¤¤Ç±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ë¤Ë¤Ï session = sessionFactory.openSession();
tx = session.beginTransaction();
// session.save(user);
// session.update(user);
session.lock(user, LockMode.NONE); <-¤³¤ì
// user.setName("hogehoge");
tx.commit();
session.flush();
session.close();
session.lock¤ò»ÈÍѤ·¤Þ¤¹¡£¾å¤ÎÎã¤À¤Èupdateʸ¤ÏÁö¤é¤Ê¤¤¤±¤É±Ê³²½¤µ¤ì¤Æ¤ë¤ß¤¿¤¤¡£»î¤·¤Ëuser.setName("hogehoge");¤ò¥¢¥ó¥³¥á¥ó¥È¤¹¤ë¤È¡¢tx.commit¤Çupdateʸ¤¬È¯¹Ô¤µ¤ì¤¿¡£lock¥á¥½¥Ã¥É¼«ÂΤǿ·¤·¤¤¥»¥Ã¥·¥ç¥ó¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤¿¤³¤È¤Ë¤è¤Ã¤Æ¡¢setName¤È¤«¤¹¤ë¤À¤±¤Çupdateʸ¤¬Áö¤Ã¤Æ¤¤¤Þ¤¹¤Í¡£ ʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤òupdate¤·¤Ê¤¤¤ÇÊѹ¹¤·¤Æ¤âupdateʸ¤ÏÁö¤é¤Ê¤¤ †¤Á¤Ê¤ß¤Ë session = sessionFactory.openSession();
tx = session.beginTransaction();
// session.save(user);
// session.update(user);
// session.lock(user, LockMode.NONE);
user.setName("hogehoge");
tx.commit();
session.flush();
session.close();
¤³¤Î¾ì¹çuser¤ÏʬΥ¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤Î¤Ç¡¢¤³¤ì¤Ç¤Ïupdateʸ¤ÏÁö¤é¤Ê¤¤ ¤½¤Î¾ †¤¹¤Ç¤Ë±Ê³²½¥ª¥Ö¥¸¥§¥¯¥È¤¬¥»¥Ã¥·¥ç¥óÃæ¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾õÂ֤ǡ¢¹¹¤ËUpdate¤·¤è¤¦¤È¤¹¤ë¤ÈÎã³°¡£ †org.hibernate.NonUniqueObjectException?: a different object with the same identifier value was already associated with the session ¤È¤¤¤¦Îã³°¤¬È¯À¸¤·¤Þ¤¹¤Í¡£ Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setName("hogehoge");
session.save(user);
System.out.println(user);
int num = user.getId();
user = new User();
user.setId(num);
user.setName("name");
session.update(user); <-¤³¤³¤ÇÎã³°
System.out.println(user);
tx.commit();
session.flush();
session.close();
Ʊ¤¸¼±Ê̻ҤÎÃͤÇÊ̤Υª¥Ö¥¸¥§¥¯¥È¤¬¤¹¤Ç¤Ë´ØÏ¢ÉÕ¤¤¤Æ¤¤¤ë¡¢¡¢¤È¡£¤È¤¤¤Ã¤Æ¤âsave¤·¤¿user¤òevict¤·¤ÆÊ¬Î¥¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ì¤ÐOK¤«¤Ê¡©¤È»×¤Ã¤¿¤±¤ÉÊ̤ÎÎã³°(org.hibernate.AssertionFailure?: possible nonthreadsafe access to session)¤¬tx.commit»þ¤ËȯÀ¸¤·¤Á¤ã¤¤¤Þ¤¹¡£¤½¤â¤½¤â°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤òupdate¤¹¤ë¤³¤È¼«Âδְã¤Ã¤Æ¤ë¤Î¤«¤Ê¡© ¤¢¡¢flush¤·¤Æ¤«¤éevict¤·¤Ê¤¯¤Á¤ã¤¤¤±¤Ê¤¤¤ó¤Ç¤¹¤Í¡£ Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setName("hogehoge");
session.save(user);
session.flush();
session.evict(user);
int num = user.getId();
user = new User();
user.setId(num);
user.setName("name");
session.update(user); <-Îã³°¤ÏȯÀ¸¤·¤Ê¤¯¤Ê¤ë
System.out.println(user);
tx.commit();
session.flush();
session.close();
¤³¤ì¤ÇOK¤Ç¤·¤¿¡£ save¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¤¹¤°evict¤¹¤ë¤È¥¨¥é¡¼ †¾å¤Î¤è¤¦¤Ësave¤·¤¿¤¢¤Èflush¤·¤Æ¤«¤éevict¤·¤Ê¤¤¤È¡¢ org.hibernate.AssertionFailure - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session) org.hibernate.AssertionFailure: possible nonthreadsafe access to session ¤¬È¯À¸¤¹¤ë¡£ select¤·¤Æ¤¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤ÏCGLIB¤Ç³ÈÄ¥¤µ¤ì¤Æ¤¤¤ë †new¤·¤Æsave¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ÏÉáÄ̤Υ¯¥é¥¹¡£session.load¤Ê¤É¤·¤Æselect¤·¤¿¥¯¥é¥¹¤ÏCGLIB¤Ç³ÈÄ¥¤µ¤ì¤¿¥¯¥é¥¹¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ Ê£¿ô¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤¿¤¤ †hibernate.cfg.xml¤Ï¤É¤¦¤â¤Ò¤È¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹ÀßÄꤷ¤«½ñ¤±¤Ê¤¤¤ß¤¿¤¤(¤¿¤Ö¤ó)¡£ ¤Ç¤â¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤È¤¤Ë¡¢Ê£¿ô¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤òÀÚ¤êÂØ¤¨¤ëÊýË¡¤¬¤è¤¦¤ä¤¯Ê¬¤«¤ê¤Þ¤·¤¿¡£¤Á¤Ê¤ß¤ËTorque¤Ç»î¹Ôºø¸í¤·¤¿·Ð°Þ¤ÏTorque/Ê£¿ô¤ÎDB¤ÇƱ»þ¤ËÍøÍѤ¹¤ë¤ò¤´»²¾È¡£ Configuration config = new Configuration();
// config = config.configure(); // <-Ä̾ï¤ÎÀßÄê¤ÎÆÉ¤ß¹þ¤ß
config = config.configure(new File(
getServlet().getServletContext().getRealPath(
"/WEB-INF/lib/hibernate.cfg.hoge.xml")));
¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¥é¥ó¥¿¥¤¥à¤ËÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ç¤¹¡£¡£ ·ë¹ç(´ØÏ¢)¤ò¹Í¤¨¤ë †
JavaBeans?(¤³¤³¤Ç¤ÏMember)¤Ë¥×¥í¥Ñ¥Æ¥£¤òÄɲ䷤ƥޥåԥ󥰥ե¡¥¤¥ë(Member.hbm.xml)¤Ë <many-to-one name ="workgroup" column="GROUPNO" class="nu.mine.kino.binding.ait.hibernate.Workgroup" cascade="all" outer-join="auto" update="false" insert="false" /> ¤òÄɲ乤ì¤Ð¤è¤¤¤è¤¦¤À¡£Äɲ䷤ʤ¤¾ì¹ç¤ÏMember#getWorkgroup()¤ÎÊÖ¤êÃͤ¬null¤Ë¤Ê¤ë¤ß¤¿¤¤¡£ Member(N) -> WorkGroup?(1) ¤Ê¤Î¤Ç¡¢many-to-one¤È¤Ê¤ë
JavaBeans?(¤³¤³¤Ç¤ÏWorkGroup?)¤Ë¥×¥í¥Ñ¥Æ¥£¤òÄɲ䷤ƥޥåԥ󥰥ե¡¥¤¥ë(WorkGroup?.hbm.xml)¤Ë <set name="memberList" > <key ><column name="groupno" /></key> <one-to-many class="nu.mine.kino.binding.ait.hibernate.Member" /> </set> ¤òÄɲ乤ì¤Ð¤è¤¤¤è¤¦¤À¡£Äɲ䷤ʤ¤¾ì¹ç¤ÏWorkgroup#getMemberList?()¤ÎÊÖ¤êÃͤ¬null¤Ë¤Ê¤ë¤ß¤¿¤¤¡£ WorkGroup?(1) -> Member(N) ¤Ê¤Î¤Ç¡¢one-to-many¤È¤Ê¤ë ¥¯¥é¥¹À߷פǹͤ¨¤ë¤ÈWorkGroup? -> Member ¤Ï¤¢¤Ã¤Æ¤â¤½¤ÎµÕ¤Ï¤¢¤Þ¤ê¤Ê¤¤¤«¤Ê¤¡¡£¤è¤¦¤¹¤ë¤Ë aWorkGroup.getMembers() ¤Ï¤¢¤Ã¤Æ¤â aMember.getWorkGroup() ¤Ï¤Ê¤¤¤³¤È¤¬Â¿¤¤¤è¤¦¤Ë»×¤¦¤±¤É¡£¡£¡£ http://www.atmarkit.co.jp/fjava/rensai3/ormap05/ormap05_1.html WEB¥¢¥×¥ê¤Î»þ¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Ê¤É¤Ï¤É¤³¤ËÃÖ¤¯¤Ù¤¤«¡£ †
middlegen¤Çºî¤Ã¤¿hbm¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ †¤¿¤È¤¨¤Ð <id name="id" type="java.lang.Integer" column="id" >
<meta attribute="field-description">
@hibernate.id
generator-class="Increment"
type="java.lang.Integer"
column="id"
</meta>
<generator class="Increment" />
</id>
¤Î <meta attribute="field-description">
@hibernate.id
generator-class="Increment"
type="java.lang.Integer"
column="id"
</meta>
¤ÎÉôʬ¤Ï¡¢¥³¥á¥ó¥È¤Ë»È¤ï¤ì¤ë¤À¤±¡¢¤À¤È»×¤¦¡£ MySQL¤Îauto_increment¤Ë¤Ä¤¤¤Æ †`name_id` int(10) unsigned NOT NULL auto_increment, ¤ÈÄêµÁ¤µ¤ì¤ë¥«¥é¥à¤¬¤¢¤ë¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¡¢middlegen¤ÇJavaBeans?¤Èhbm.xml¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤¿¤é°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ <id
name="nameId"
type="java.lang.Object"
column="name_id"
>
<meta attribute="field-description">
@hibernate.id
generator-class="assigned"
type="java.lang.Object"
column="name_id"
</meta>
<generator class="assigned" />
</id>
¼ÂºÝ¤ÏInteger¤È¥Þ¥Ã¥Ô¥ó¥°¤·¤ÆÍߤ·¤¤¤Î¤Ç¤¹¤¬¡¢¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤Ç¤¹¤Í¡£¤È¤ê¤¢¤¨¤º¼«Ê¬¤Çjava.lang.Integer¤ËÊѹ¹¤·¤Þ¤·¤¿¡£¤¢¤È <generator class="assigned" /> ¤ò <generator class="increment" /> ¤ËÊѹ¹¤·¤Þ¤·¤¿¡£¤â¤Á¤í¤óJava¥½¡¼¥¹¤âºî¤êľ¤·¤Þ¤·¤¿¡£ Ê£¹ç¥¡¼¤ò»È¤Ã¤¿¥Æ¡¼¥Ö¥ë¤Î¥Þ¥Ã¥Ô¥ó¥°¡£ †¼ç¥¡¼¤¬Ê£¿ô¡¢¤¿¤È¤¨¤Ð create table Customer3 (customer_id varchar(20) not null, item_id varchar(20) not null, value varchar(255), upd_date timestamp, primary key (customer_id, item_id)); ¤È¤¤¤¦¤è¤¦¤Ëcustomer_id,item_id¤Ç¥æ¥Ë¡¼¥¯¤Ë¤Ê¤ë¥Æ¡¼¥Ö¥ë¤Î¥Þ¥Ã¥Ô¥ó¥°¤Ë¤Ä¤¤¤Æ¤Ç¤¹¡£ XDoclet¤Ê¤É¤ò»È¤Ã¤Æhbm.xml¤òºî¤ë¾ì¹ç¤¬¤Û¤È¤ó¤É¤À¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢¤Þ¤º¤ÏPOJO¤«¤é¡£·ëÏÀ¤ò¸À¤¦¤È¡¢¾å¤ÎÊ£¹ç¥¡¼¤ò°ì¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤¹¤ë¤¿¤á¤Ë°ì¤ÄPOJO¤òºî¤ê¤Þ¤¹¡£ public class Customer3Id implements Serializable {
private String customerId;
private String itemId;
public Customer3Id() {
}
/**
* @hibernate.property column = "customer_id" not-null = "true" length ="20"
*/
public String getCustomerId() {
return customerId;
}
/**
* @hibernate.property column = "item_id" not-null = "true" length = "20"
*/
public String getItemId() {
return itemId;
}
public String toString(){...}
public boolean equals(Object obj) {...}
public int hashCode() {...}
}
¤É¤¦¤â¡¢
¤Ç¡¢¼ÂºÝ¤Î¥ì¥³¡¼¥É¤ÎÊý(¡©)¤ÎPOJO¤Ï¤µ¤Ã¤¤ÎÊ£¹ç¥ª¥Ö¥¸¥§¥¯¥È¤òÊÝ»ý¤·¤Æ¤ª¤¤Þ¤¹¡£ /**
* @hibernate.class table = customer3
*/
public class Customer3 {
private Customer3Id compositeId;
....
/**
* @return compositeId ¤òÌᤷ¤Þ¤¹¡£
* @hibernate.id generator-class="assigned"
*/
public Customer3Id getCompositeId() {
return compositeId;
}
}
XDoclet¤Çhbm¤òÀ¸À®¤·¤¿¤È¤³¤í¡¢ <?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping>
<class
name="nu.mine.kino.plugin.hsqldb.hibernate.Customer3" >
<composite-id name="compositeId"
class="nu.mine.kino.plugin.hsqldb.hibernate.Customer3Id">
<key-property
name="customerId"
type="java.lang.String"
column="customer_id"
length="20"
/>
<key-property
name="itemId"
type="java.lang.String"
column="item_id"
length="20"
/>
</composite-id>
<property
name="value"
....................
</class>
</hibernate-mapping>
¤Ê¤ó¤Æ¤Î¤¬¤Ç¤¤¢¤¬¤ê¤Þ¤·¤¿¡£¥Ý¥¤¥ó¥È¤ÏÊ£¹ç¥¡¼¤Ï¤½¤Î¥¡¼¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ëɬÍפ¬¤¢¤ë¡¢¤Ã¤Æ¤³¤È¤Ç¤¹¤«¤Í¡£¤³¤ì¡¢·ë¹½¤á¤ó¤É¤¯¤µ¤¤¤Í¡£ middlegen¤ª¤Ü¤¨¤¬¤ †http://boss.bekk.no/boss/middlegen/ samples/build.xml¤ò½¤Àµ¤·Î®ÍѤ·¤Þ¤¹¡£¤Þ¤º¤Ï <!ENTITY database SYSTEM "file:./config/database/hsqldb.xml" > ¤ò¼ÂºÝ¤Ë»ÈÍѤ¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹ÍѤΥե¡¥¤¥ë¤ËÊѹ¹¤·¤Þ¤¹¡£¤Û¤«¤Ë¤Ï name: java¥¯¥é¥¹¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÂбþ database.name :¤³¤ì¤âÊѤ¨¤ë¤Î¤«¤Ê¡© ¤Ê¤É¤òÊѹ¹¤·¤Þ¤¹¡£¤Þ¤¿¾å¤Ç»ØÄꤷ¤¿ file:./config/database/XXXXX.xml ¤ÎÆâÍÆ¤ò¡¢¸Ä¡¹¿Í¤Î´Ä¶¤Ë±þ¤¸¤Æ½ñ¤´¹¤¨¤Þ¤¹¡£¤¿¤È¤¨¤Ð¤³¤ó¤Ê´¶¤¸: <property name="database.url" value="jdbc:sybase:Tds:[IP]:[PORT]/[DB]"/> <property name="database.userid" value="[ID]"/> <property name="database.password" value="[PASS]"/> <property name="database.schema" value="dbo"/> <-¤ª¤â¤Ë¤³¤ì¡© <property name="database.catalog" value="XXXXXX"/> use XXXXXX¤È¤«¤¹¤ë¤ä¤Ä ¤Ç¡¢ant hbm2java¤ÇOK!*1¡£ ¤Á¤Ê¤ß¤Ë¡¢¼«Æ°À¸À®¤µ¤ì¤¿xml¥Õ¥¡¥¤¥ë¤ò¼ê¤Ç½¤Àµ¤·¤ÆJava¤òÀ¸À®¤·¤¿¤¤¾ì¹ç¤Ï¡¢hbm2java¥¿¥¹¥¯¤Îdepend¤ò¤Ê¤¯¤·¤Æhbm2javañÂÎ¤Ç²ÔÆ°¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¡£¤½¤¦¤·¤Ê¤¤¤Èmiddlegen¥¿¥¹¥¯¤È¤«¤¬Æ°¤¤¤Æxml¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¤·¤Æ¤·¤Þ¤¦¡£ ¤³¤Îµ»ö¤Ï
¸½ºß¤Î¥¢¥¯¥»¥¹:38134 |