(一个对多篇文章)
member_register表:register_id register_name
article表:article_id article_title register_id
有这样的两个表,现在想要多表查询把member_register表的register_name和article表的article_title
查询出来?Article.javaprivate int register_id;
private String register_name;Register.javaprivate int article_id;
private String article_tilte;
private int register_id;Article.hbm.xml
<many-to-one name="register" class="Register" fetch="select" insert="false" update="false">
<column name="register_id" not-null="true"/>
</many-to-one>
Register.hbm.xml<set name="article" inverse="true">
<key>
<column name="register_id" not-null="true"/>
</key>
<one-to-many class="Article"/>
</set>dao.java
//String hql ="from Article ar";
String hql="from Article ar,MemberRegister mr where ar.mr=mr.register_id";
Query query =session.createQuery(hql);怎么就查不出来呢!高手告诉是哪里错了呢!
得怎么改,谢谢了!
member_register表:register_id register_name
article表:article_id article_title register_id
有这样的两个表,现在想要多表查询把member_register表的register_name和article表的article_title
查询出来?Article.javaprivate int register_id;
private String register_name;Register.javaprivate int article_id;
private String article_tilte;
private int register_id;Article.hbm.xml
<many-to-one name="register" class="Register" fetch="select" insert="false" update="false">
<column name="register_id" not-null="true"/>
</many-to-one>
Register.hbm.xml<set name="article" inverse="true">
<key>
<column name="register_id" not-null="true"/>
</key>
<one-to-many class="Article"/>
</set>dao.java
//String hql ="from Article ar";
String hql="from Article ar,MemberRegister mr where ar.mr=mr.register_id";
Query query =session.createQuery(hql);怎么就查不出来呢!高手告诉是哪里错了呢!
得怎么改,谢谢了!
private String register_name; Article.java private int article_id;
private String article_tilte;
private int register_id; Article.hbm.xml
<many-to-one name="register" class="Register" fetch="select" insert="false" update="false">
<column name="register_id" not-null="true"/>
</many-to-one> name="register"对应Article.java 的哪个属性?
还有我感觉hql也有问题现在就是想要实现多表查询
然后在hbm.xml了做配置
private String register_name;
Article.java
private int article_id;
private String article_tilte;
private int register_id;
这个是这样的,写反了
mr既然是对象,怎么和 register_id相等?怎么看这个id都应该是字段吧?然后是实体的问题:
aticle表的有三个字段,LZ变成了register的两个字段
是不是名字起错了?还有,register类应该对应的是article表?那么多对一的关系应该是多个register对象对应的一个article对象,
则在register类中应该有一个Article article;
Article类中应该有Set registers = new HashSet(0);没有则不能用延迟加载...
那就在Register类中添加 集合
在Article类中添加Register对象
不过有错误private Set register = new HashSet(0); register低下有个红色的浪线
private String register_name;
private Set register = new HashSet(0);//这个地方就有问题了Article.java
private int article_id;
private String article_tilte;
private int register_id;
private Reigster register;
这样对吧!!
但是private Set register = new HashSet(0);reguster低下有条红色浪线不能保存
还是随便定义的
还是随便定义的
但是hql有问题?请问HQL要怎么写public List getAllActicles(){
Session session = DependencyUtil.currentSession();
String hql ="from Article ar,MemberRegister mr order by ar.article_title desc, article_id";
//String hql="from Article ar,MemberRegister mr where ar.register_id = mr.register_id";
Query query =session.createQuery(hql);
List list=query.list();
return list;
}
这是我的dao。?