u***8 发帖数: 1581 | 1 其实不是加了一个db,是在一个现存的db里面加了一个table。我仿写了一个class 实
现了BaseEntity,然后该要有的annotation我也都有了。可是,就是无法取出里面的数
据。
createNamedQuery也失败了。 不知道为什么,在class里面我也加了@NamedQuery A ,
我尝试加如现存的其他entity的namedQuery B,可以创造query B,可是这个query A
就是Named query not found。我只有用local的string来建query才可以,below:
final EntityManager em = emf.createEntityManager();
String query = "select * FROM packageName.Asomething asomething";
final Query a_query = em.createQuery(query);
a_query.getResultList(); //就是没结果出来,数据出不来。
加了一个table,哪里还需要configure一些么,是么xml,这个有点不懂。 刚开始做
spring/hibernate。
大概是个初级问题,见笑了。 |
w****u 发帖数: 3147 | 2 把hibernate的debug log打开吧……
Named query not found 有时候是没有重新编译/部署 |
u***8 发帖数: 1581 | 3 现在问题是,不用createNamedQuery, 就算造了query,也得不到db table的数据。这
个如何解?
【在 w****u 的大作中提到】 : 把hibernate的debug log打开吧…… : Named query not found 有时候是没有重新编译/部署
|
g*****g 发帖数: 34805 | 4 楼上跟你说了,打开 hibernate debug就能看到产生了 什么 sql query, 拿 query在
随便一个 SQL IDE跑一下就知道了。
【在 u***8 的大作中提到】 : 现在问题是,不用createNamedQuery, 就算造了query,也得不到db table的数据。这 : 个如何解?
|
u***8 发帖数: 1581 | 5 看到这个
WARN org.hibernate.hql.QuerySplitter (concreteQueries:139) - no
persistent classes found for query class: select * FROM dasdaasdas.asda.
sdada.adsda
【在 g*****g 的大作中提到】 : 楼上跟你说了,打开 hibernate debug就能看到产生了 什么 sql query, 拿 query在 : 随便一个 SQL IDE跑一下就知道了。
|
g*****g 发帖数: 34805 | 6 这不说得挺清楚,你拷贝的 model类没写好,或者没放在合适的包里。
【在 u***8 的大作中提到】 : 看到这个 : WARN org.hibernate.hql.QuerySplitter (concreteQueries:139) - no : persistent classes found for query class: select * FROM dasdaasdas.asda. : sdada.adsda
|
s*****r 发帖数: 43070 | 7 貌似没config 新的entity class
hibernate无法bind你的entity with db table
【在 u***8 的大作中提到】 : 看到这个 : WARN org.hibernate.hql.QuerySplitter (concreteQueries:139) - no : persistent classes found for query class: select * FROM dasdaasdas.asda. : sdada.adsda
|
u***8 发帖数: 1581 | 8 是阿,如何config?哪里config?
烦死了。一天没看到
【在 s*****r 的大作中提到】 : 貌似没config 新的entity class : hibernate无法bind你的entity with db table
|
u***8 发帖数: 1581 | 9 好的,我看看该在哪里
【在 g*****g 的大作中提到】 : 这不说得挺清楚,你拷贝的 model类没写好,或者没放在合适的包里。
|
s*****r 发帖数: 43070 | 10 entity-mapping,看看hibernate的doc
http://webdev.jhuep.com/~jcs/legacy-ejava-javaee/coursedocs/605
【在 u***8 的大作中提到】 : 是阿,如何config?哪里config? : 烦死了。一天没看到
|
|
|
u***8 发帖数: 1581 | 11 谢谢,一个恨简单的xml的,加一行。没经验就是只有加班。
【在 s*****r 的大作中提到】 : entity-mapping,看看hibernate的doc : http://webdev.jhuep.com/~jcs/legacy-ejava-javaee/coursedocs/605
|
z****e 发帖数: 54598 | 12 i think entity mapping can be done by @Entity this annotation
like this
@Entity
@Table(name="tbl_sky") |
g*****g 发帖数: 34805 | 13 是呀,用xml那是10年前的事情了。他还只是加了一个类,也不需要指定扫描哪里了。
【在 z****e 的大作中提到】 : i think entity mapping can be done by @Entity this annotation : like this : @Entity : @Table(name="tbl_sky")
|
z****e 发帖数: 54598 | 14 扫描都是扫描包的,楼主估计是自己做的toy project
这种参考网络上到处都是,大把
http://www.mkyong.com/tutorials/hibernate-tutorials/
【在 g*****g 的大作中提到】 : 是呀,用xml那是10年前的事情了。他还只是加了一个类,也不需要指定扫描哪里了。
|
c*******5 发帖数: 216 | 15 这个mkyong,真是有时间。什么toy project他都有
【在 z****e 的大作中提到】 : 扫描都是扫描包的,楼主估计是自己做的toy project : 这种参考网络上到处都是,大把 : http://www.mkyong.com/tutorials/hibernate-tutorials/
|
u***8 发帖数: 1581 | 16 我当然是用了。但是,还是需要xml里面加一行。
package.name.className
但是named Sql有个问题。
其他的类都可以,这个非要报错。
select cn from package.name.class.name cn
非要说javax.persistence.PersistenceException: org.hibernate.exception.
SQLGrammarException: could not execute query
但是,
select cn.columnName from package.name.class.name cn 就可以work
我在已有的class里面,找到的,都是
@NamedQuery(name = "a.b",
query = "SELECT reg " +
"FROM package.name.place.class.name reg " +
"WHERE reg.complete = 0 " +
"AND reg条件 " +
"AND reg条件 " +
"AND reg条件 "
不知道为什么我仿写就有问题。
【在 z****e 的大作中提到】 : i think entity mapping can be done by @Entity this annotation : like this : @Entity : @Table(name="tbl_sky")
|