avatar
hibernate问题。。# Java - 爪哇娇娃
p*d
1
最近在用hibernate,不太熟悉整个体系,有个问题:
所有的table都有javabean的持久化对象,在做单表查询的时候,api大概是这样
beanInstance[] getDataByQuery(Query, beanInstance)
这样单表查询的时候,给定SQL和需要做操作的表格的对象,可以返回一个包含查询结
果的bean对象数组。 所有个javabean都继承自一个baseBean
如果以这种方式实现多表查询,每个不同的query可能返回不同的fields,这样可能就
需要重新写一个不同的bean的对象,这样岂不很不爽?
表达好困难呀。。。不知道看不看得懂。。。
感觉这时候直接jdbc操作,resultset处理数据还更直接一点呀?
avatar
i*c
2
myeclipse自动生成bean
avatar
g*g
3
如果你的query很简单,比如就是传入一个ID,返回bean,
那你完全可以把DAO写成带模板的形式。

【在 p****d 的大作中提到】
: 最近在用hibernate,不太熟悉整个体系,有个问题:
: 所有的table都有javabean的持久化对象,在做单表查询的时候,api大概是这样
: beanInstance[] getDataByQuery(Query, beanInstance)
: 这样单表查询的时候,给定SQL和需要做操作的表格的对象,可以返回一个包含查询结
: 果的bean对象数组。 所有个javabean都继承自一个baseBean
: 如果以这种方式实现多表查询,每个不同的query可能返回不同的fields,这样可能就
: 需要重新写一个不同的bean的对象,这样岂不很不爽?
: 表达好困难呀。。。不知道看不看得懂。。。
: 感觉这时候直接jdbc操作,resultset处理数据还更直接一点呀?

avatar
p*d
4
自动生成是自动生成bean的instance还是连带代码getter/setter啥的都有了?
即使是自动生成,减少人工代码量,但是还是会有很多针对各种不同query而生成的
bean是么?
我土呀,多谢了

【在 i***c 的大作中提到】
: myeclipse自动生成bean
avatar
m*t
5

What's that beanInstance parameter for?
A multi-table query would return a list of object arrays,
where each array corresponds to one row in the result set.
You can execute native sql in hibernate if you want to
deal with the result set directly.

【在 p****d 的大作中提到】
: 最近在用hibernate,不太熟悉整个体系,有个问题:
: 所有的table都有javabean的持久化对象,在做单表查询的时候,api大概是这样
: beanInstance[] getDataByQuery(Query, beanInstance)
: 这样单表查询的时候,给定SQL和需要做操作的表格的对象,可以返回一个包含查询结
: 果的bean对象数组。 所有个javabean都继承自一个baseBean
: 如果以这种方式实现多表查询,每个不同的query可能返回不同的fields,这样可能就
: 需要重新写一个不同的bean的对象,这样岂不很不爽?
: 表达好困难呀。。。不知道看不看得懂。。。
: 感觉这时候直接jdbc操作,resultset处理数据还更直接一点呀?

avatar
a*i
6
我想我是看懂lz的问题了
一般来说,hibernate的bean之间要设定relationship
onetoone, onetomany啥的
多表之间,比方说student和course
是manytomany
Class student {
@ManyToMany
@JoinTable blah blah
private List courses;
}
当查某学生的选课,sql这么写
select * from student, course, regist where student.id=1234 and
student.id = regist.student_id and course.id=regist.course_id;
hibernate用queryStudent(1234).getCourses(); 就好了
不过要注意lazy fetch

【在 m******t 的大作中提到】
:
: What's that beanInstance parameter for?
: A multi-table query would return a list of object arrays,
: where each array corresponds to one row in the result set.
: You can execute native sql in hibernate if you want to
: deal with the result set directly.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。