我在hbm.xml中设置了一个多对一关联,如下所示:
<many-to-one name="gigVenue"
class="blah.blah.xxx" fetch="select"
lazy="no-proxy" not-null="true" >
<column name="N_VENUE_ID" precision="18" scale="0" not-null="true" />
</many-to-one>
我使用工具来实现真正的延迟加载
但
我有一个groovy hibernate实体,例如名为'Depart'。
现在,当我尝试获取它们的属性时,例如Long id=somedefect.getiddefect,我遇到了一个异常
Cannot cast Depart to Depart_$$_javassist_5
谁制作了Deeption_$$\uJavassist_5-groovy或hibernate?有什么解决办法吗?大约三周后,我发现了问题的根源。。。但还是受不了。通过清除tomcat工作目录解决了这个问题,我很高兴这里有一些
我将Hibernate与Xml映射一起使用。我有一个实体,它有两个字段creationDate和updateDate,类型为timestamp,当实体被持久化和更新时,必须用当前UTC时间填充。
我知道@PrePersist和@PreUpdate注释的存在,但我不知道如何在Xml映射中使用它们的等价物
同样,我想知道Hibernate是否以某种方式支持本机设置的更新和创建时间
感谢当实体发生更改时,Hibernate中的时间戳显然总是自动更新的,因此您不能对创建日期使用映射。但是,您可以将其存储
我对SQL/HQL非常不熟悉,目前遇到了一个“可能”的简单问题:
我有两个多对多实体,带有一个关系表:
汽车、汽车问题和问题
一辆车可能有很多问题
很多车可能会出现一个问题
CarProblem是具有其他属性的关联表
现在,我想找到有特定问题的汽车,如何编写这样的HQL?
所有ID都是长类型
我尝试了很多连接/内部连接组合,但都没有成功
--更新:
对不起,忘了提一下:
这辆车有很多问题
这个问题有很多难题
在Java对象中,Car和问题没有直接联系
--更新,java代码如下--
@实体
公车
如何在HQL中按特定属性顺序进行排序
对于MySQL,我可以使用:SELECT*FROM question q ORDER BY q.status IN(“完成”、“无动作”)、q.status IN(“新建”、“保存”)、q.created DESC
但是HQL不允许在中按排序
我错过什么了吗?这个问题还有别的解决办法吗
谢谢在我看来,(xxx,xxx…)中使用ORDER BY xxx的MySQL语法不是SQL-ANSI支持的函数,而是一个特定的MySQL函数
所以你应该想出另一种方法来做你想
所以,我有一个godaddy帐户,我想把它用于一个小的hibernate/spring项目。。。它们承载java,但只有Tomcat 5.0.27版本。。。我是否必须使用以前版本的hibernate,或者它是否可以正常工作
谢谢
约翰完全正交。他们彼此完全不了解。3.6之前的Hibernate版本需要Java 1.4或Java 1.5才能使用注释。就这些
如果我想使用hibernate(java框架)创建一个web应用程序,我可以使用什么语言来实现呢?如果你想使用hibernate,你需要使用java或Groovy。
您可以使用SpringRoo或Grails(web应用程序框架)来帮助您创建应用程序
如果您不想使用Java或Groovy,有许多其他语言编写的Hibernate替代方案。hm。假设我在java web应用程序和mssql数据库之间使用hibernate。hibernate的角色是什么?NH是一个OR/M,它允许您从数据库中持久化和
我想使用条件从数据库中获取特定列
从SSS中选择名称、姓氏
请回复
提前感谢。您需要使用Projection类。。查看详情
List results = session.createCriteria(SSSS.class)
.setProjection( Projections.projectionList()
.add( Projections.property("name") )
.add( Projections.property("lastName
我有一个包含很多字段的DB表,当我使用Hibernate.hbm文件为该表生成POJO时,它会导致一个问题。问题是生成的完整构造函数为Java生成的参数太多,这会引发编译器错误:
参数太多,参数xxxx超出了方法参数的255个字的限制
我想通过抑制Hibernate生成完整构造函数来解决这个问题。我的问题是
如果我没有完整的构造函数,Hibernate会在运行时中断吗
我如何告诉我的hbm不要生成完整的构造函数
提前感谢您的回答。对于1:使用Hibernate 3.6(可能也适用于早期版本,但我
我有一个映射的超类,它有两个已经索引的属性。现在我想在这两个属性上创建一个组索引。到目前为止,它一直与:
@MappedSuperclass
Class A {
@Index(name="pa")
int a;
@Index(name="pb")
int b;
}
根据hibernate文档,我可以用@Table(hibernate注释)注释我的新索引。但我不知道为所需的appliesTo参数设置什么
以前有人成功尝试过吗?来自:
@表(appliesTo=“t
我正在使用Spring3+JPA+Hibernate。我试图保持示例的结构与实际的代码结构相似。请滚动到底部查看实际问题。Zipped maven项目可从www.esnips.com/nsdoc/da7a09c0-ce5a-4dbf-80a2-f414ea3bf333/?action=forceDL下载
下面是正在测试的类
public class ServiceImpl implements Service {
@Autowired
private DataAccessor dataAcce
下面是我的完整代码
这是cfg文件
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<proper
我是hibernate新手,我正在尝试理解级联的概念
我已经研究了hibernate文档,但有些事情我还不清楚:
1) 如何在双向一对多关系中使用级联:
假设我有一个父母,一个父母可以有零个或更多的孩子
行为应该是:
-如果父对象被删除,则其所有子对象也应被删除。
-应该可以删除一个孩子。因此,只应删除父级和该单个子级之间的关系/连接,而不应删除父级
我的父配置文件如下所示:
<class name="Parent" table="Parent">
<set name
问题是:User.findById(u.id),此代码返回的用户与参数u不同,不是数据库中的数据
如何获取数据库值
谢谢你的帮助 这个问题真让人困惑。您的意思是当您调用findbyId(u.id)时,old.role返回的是u参数中的值,而不是数据库中的值吗
如果是这样的话,也许你可以试试这样:
Model: User
id
username
role
Controller:update(User u)
User old = User.findById(u.i
标签: Hibernate
annotationsoverridingignoreinherited
我从一个将id映射到列的实用程序基类扩展而来
@MappedSuperclass
public abstract class BaseDTO
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int id;
public int getId() {
return id;}
public void setId(int id) {
this.id = id;
我有两个实体,书和作者
@Entity
@Table(name="book")
class Book {
private int id;
private Map<Integer, Author> authors = new HashMap<Integer, Author>();
@Id
@GeneratedValue
@Column(name="id_book")
public int getId() {
有两个实体:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Person implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
...
}
@Entity
public class Man extends Person {
...
考虑到Hibernate中的以下(简化)场景:
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
try {
//Do something with session
if (...) {
return something;
}
tx.commit();
}
finally {
session.close();
}
在MYSQL中,我有一个查询:
我的桌子
planning
-------------------
process_id (int)
project_id (int)
period (datetime)
total_hour (double)
我需要将这个子句SQL转换成JPQL,以便在JPA?SQL中使用
SELECT p.process_id, p.project_id,
sum( case when p.period="2013-04-01 00:
我有一个表,其中有一个数据类型为char(3)的列,它可以是YES或NULL。在Java类中,我想用一个布尔字段映射这个列。我知道应该将列数据类型定义为位,但现在不能这样做
是否可以在hibernate中将字符串列映射到布尔字段?如果您使用的是MySQL,您可以使用布尔作为列类型,并且如果您将列设置为非空,您将能够映射到布尔或布尔类型的getter/setter
使用字符串列最简单的方法是执行如下类:
class MyObject
{
private String _value;
我正在用hibernate、hibernate搜索、lucene和tapestry做一些web应用程序。现在,一切正常,直到我将这部分代码部署到我的应用程序中。我一直在犯这个错误
Render queue error in SetupRender[Index:layout.listarticles.grid]: Failure reading parameter 'source' of component Index:layout.listarticles.grid: java.lang.Obj
我想在Hibernate搜索中的某个地方注入我的代码,文档对象已经完全准备好了,但还没有索引。
据我所知,概念文档对象是由类创建的。方法准备主字段(Id和_hibernate_类),然后调用,在其中调用类桥。然后,它添加基本级别上的所有字段(也调用FieldBridge)并递归地添加所有调用。到目前为止,我相当清楚
对于所有的桥梁,我得到了逐步填充的文档对象。我的目标是在提供给索引引擎之前,获得最终的文档版本(从中返回),以便进行一些计算。可能吗?最简单的方法是什么
顺便说一句,我想定制Inde
我正在使用Hibernate命名查询。GetEmployerWithActiveEmployeeList
public class Employer {
.
.
@OneToMany(mappedBy = "employer", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
private Set<Employee> employee;
.
.
}
public class
我在hibernate域对象中有一个电话号码
String phoneNumber;
我使用spring表单将域对象绑定到一个字段
<sf:input path="myobject.phoneNumber" />
当我在服务器端收到该字段时,它的格式如上所述,但是,我希望在不使用格式的情况下存储它,以便将来可以使用其他格式。在数据库中,它看起来像
##########
我想某种属性编辑器可以工作,但我不知道它如何工作,因为我将从转换,并且表单中还有其他字段绑定到字符串
如何实现
以下两者之间的区别是什么:
List cats = session.createCriteria(Cat.class)
.add( Restrictions.like("name", "F%")
.list();
Criteria cr = session.createCriteria(User.class)
.setProjection(Projections.projectionList()
.add(Property.forName("id").as("id"
这个问题是在grailsgorm编程的上下文中提出的,但是如果确实存在任何真正的差异,那么了解其他Hibernate使用中的情况将是很有趣的
当试图保存未通过锁定选择的对象时,如果另一个线程/应用程序同时更新了数据库对象,则可能会得到StaleObjectStateException。Hibernate文档说,在出现这种异常之后,整个会话都不可用,因为这种异常可能会以某种方式扰乱会话状态。似乎在这个会话中打开的每个对象也变得不可用,即使这个对象实际上没有被另一个线程修改。似乎无法在同一会话中保存
我有一个问题,就是
SELECT * FROM POS_took WHERE DELETEDDATE IS NOTNULL
我有相应的pojo
class postook
{
//all the properties defined here
private DateTime deleted;
//and it corresponding setters and egetters is defined.
请告知相应的hql,我所尝试的如下所示,但也不是rite的
session.c
从项目左侧加入fetch Item.bids,其中Item.description类似于“%gc%”'
以上内容将获取已初始化出价的项目。假设出价拥有2-3个其他集合B、C和D(也许B拥有更多的集合?)。后者也是初始化的吗?我一直在看,想知道是否有必要一直加入到最后一个集合,还是只加入第一个集合就足够了?(假设“Lazy”一直都在使用)当我们一直假设“Lazy”时。。。。除非您加入,否则它不会加载所有收藏链谢谢您的澄清:)
您如何获得2014年1月1日至2014年2月5日期间每周一、周四和周五的日期
如果hibernate查询无法实现,有什么解决建议吗
提前谢谢 我不清楚您为什么要使用查询来获取这些信息,除非您的问题还有更多
假设您使用的是Java,我可能会使用Joda库来实现这一点
比如:
LocalDate currentDate = new LocalDate(2014, 1, 1);
LocalDate endDate = new LocalDate(2014, 2, 5);
while(currentD
我想做一个非常简单的查询
在SQL中是:
select * from table group by portfolio_id HAVING max(date)
在grails中,我做了如下操作:
def result = Table.executeQuery("from Table group by portfolio having max(date)")
但是我得到了一个意外的AST节点
我没有任何线索,我读了一些文档,但我仍然无法得到它,为什么它不应该工作
下面是错误消息的详细信息
|
我正在尝试在两台tomcat服务器上使用RMI设置EHcache复制。设置如下所示-
两台服务器server1.com和server2.com
没有防火墙阻止连接
两台服务器上都部署了应用程序testApp
使用Hibrate查询统计信息检查缓存的命中/未命中
我的ehcache.xml为server1.com配置如下
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLo
我正在尝试使用Hibernate和HSQLDB。我尝试将教程改编为更新的版本,因此可能存在问题。当我使用JUnit运行单元测试时,就会发生这种情况
我正在使用HSQLDB2.3.2和Hibernate(JPA)4.3.5
我得到的错误是:
16:40:16802调试SQL:109-选择
设备0.设备ID为设备I1.设备0.设备固件版本
作为设备F2 0 0,设备0。设备U映像作为设备I3 0 0来自设备
设备0_u限制?16:40:16802调试SQL:109-选择
设备0.设备ID为设备I1.
好的,对于前面提到的技术,这是一个非常奇怪的行为,我有一个控制器,它调用一个服务,这调用一个dao。传递给持久化的实体有一个带有注释的字段@Column nullable=false,unique=true,当我为dao或服务运行测试并插入重复值时,会引发异常
org.springframework.dao.DataIntegrityViolationException这是预期的行为。但是,当我运行web应用程序时,异常会在服务完成执行后抛出。在执行dao时不会。因此,这迫使我在控制器中捕获异常
我正被一场灾难折磨着
org.hibernate.TransientObjectException
使用Grails2.3.9和GrailsHibernate3插件3.6.10.15
具体问题如下:
我有一个名为Pencil的域类和一个具有多对多关系的域类背包:
Pencil{
PencilType type
Location location
Date creationDate
String description
int position
当我试图保存属于我域的caseToTag对象时,我得到了锁定错误timeouth Exceed异常。
应用程序获取所有未标记的案例,尝试通过调用method1-method3对其进行标记,修改付款,因此我们保存它,然后在尝试将案例保存到caseToTag.save(flush:true)时抛出该异常。
我正在使用Grails2.2.4和Mysql 5.6.21-
class TagService {
static transactional = false
def userS
我刚开始冬眠。在阅读Hibernate时,我偶然发现了方言属性。无论我们在应用程序中使用什么数据库,我们都需要设置与该数据库相关的方言,Hibernate将生成与该数据库相关的适当查询
我的数据库引擎是“MySQL”。在hibernate配置文件中,如果我将方言指定为“Oracle”,会发生什么情况?您可以通过在配置中设置方言来强制hibernate使用某种方言。Hibernate将使用您告诉它使用的方言。如果指定的方言不正确,Hibernate将尝试对目标数据库运行(很可能)无效的SQL
因此
我已配置了以下记录器:
log4j.logger.org.hibernate=DEBUG,applicationLog,hibernateLog
log4j.logger.org.hibernate.SQL=DEBUG,applicationLog,hibernateLog
log4j.logger.org.hibernate.type=INFO,hibernateLog
log4j.logger.org.hibernate.hql.ast.AST=INFO,hibernateLog
log4j
我想在orderBy子句的Grails条件中使用NVL函数。我该如何使用?我尝试了多种方法。有人能帮我吗
要转换为Grails条件的SQL查询:
按NVL(字段1、字段2)ASC选择*forom域\表顺序
方法1:
Domain.createCriteria().list(max:10,offset:10){
order(field1,'ASC')
order(field2,'ASC')
}
工作正常,但生成SQL查询时
Select * forom Domain_Table or
t错误?相反,如果我尝试检索一行的所有数据,我会得到一个错误?Criteria cr=session.createCriteria(utinti.class).add(Restrictions.eq(“email”,email)).setResultTransformer(Transformers.aliasToBean(utinti.class));列表结果=cr.List();存在=!结果:isEmpty();那么,我如何才能只获得一些带有命名查询的列呢?SQL查询应该包括entityAll
我有一个RestController,它包含两种方法:
方法beat1和@MessageMapping注释从客户端接收websocket消息(在STOMP协议中)
方法beat2,带有@RequestMapping注释,用于从客户端接收HTTP请求
这两种方法的内部代码相同:
@RestController
@RequestMapping("/api/member")
@MessageMapping("member")
public class MemberCtrl
{
@MessageMa
我正在使用dropwizard,它在内部使用JPA注释和hibernate来映射对象。其中一个对象有一个映射字段,我将其定义为
@Column
@ElementCollection(targetClass=String.class)
Map<String, String> routes;
我已经试过了很多在网上提到的东西
添加了@MapKey注释
在getter上添加了注释
将Map更改为HashMap似乎没有任何东西可以修复它。您可以使用@MapKeyCo
我不熟悉JSF和Java EE,我一直在努力持久化一个名为Room的实体,它有一张或多张床,由以下代码组成:
package ninfa.javahostel.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.per
假设我有
@Entity
@Table(name = "currency", uniqueConstraints = {})
public class Currency {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column( name = "CURRENCY_ID")
private Integer currencyId;
@NaturalId
@Column(nam
我的项目基于springboot、Thymeleaf、mysql、html和Jquery
我的场景
就是获取列表,在HTML中迭代并显示表1列中的数据,然后发布从动态输入字段中获取的数据(HTML chargesName和input amount),并将其保存到相关列中,因此需要点击spring boot@RestController
但我犯了一个错误
org.springframework.expression.spel.SpelEvaluationException:EL1007E:
在nu
想象一下下面的课程
@Embeddable
class A {
@ManyToOne
public B classB;
...
public State someEnum;
}
@Entity
@Table(name = "TEST")
class B {
public long id;
//... some data
@Embedded
@AttributeOverrides({
@AttributeOverr
我以前使用的是Spring Boot1.4.2.RELEASE和Hibernate5.0.11.Final,这是我的数据库配置类:
@Configuration
@EnableTransactionManagement
public class DataBaseConfiguration {
@Bean(name = "sessionFactory")
public HibernateJpaSessionFactoryBean sessionFactory() {
当我尝试访问AWS的RDS时,我遇到了此异常。我已经在AWS中创建了一个mysql RDS。并用端点和用户名更改了我的springservlet.xml,但我得到了以下异常。请看一看例外情况
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exce
我试图创建简单的单向映射。我正在使用MappedSuperclass和@JoinColumn,可能有问题。看起来实体无法从超类中找到id字段
例外情况:
Caused by: org.hibernate.MappingException: Unable to find column with logical name: user_details_id in org.hibernate.mapping.Table(user_details) and its related supertables
我有三个实体,本提和百分之从永恒延伸而来
@Entity
@Indexed
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING)
public class AEntity {
@Id
private String externalId;
}
@
我在尝试将某些对象保存到数据库时遇到困难。从前端,我发送了一个订单obj,这是一个带有客户obj的数组,后跟一个船obj数组
当我尝试只执行orderepo.save(order)时,我得到“notnull属性引用一个临时值”,因为订单需要首先保存客户,而订单需要首先保存
我试过:
customerRepo.save(orderObj.getCustomer());
Order order = orderRepo.save(orderObj);