小编Dat*_*eus的帖子

如何在Play中使用eBean定义"TEXT"类型!框架?

当我在Model类中将变量定义为String时,它在DB中转换为'VARCHAR(255)'.

但是,我想保存超过255,因为这些数据是由几段组成的非常长的文本.

据我所知,DB中有一个TEXT类型可以保存很长的文本.

如何在Play中定义TEXT类型!框架?

我尝试在Play中定义Constraints.MaxLength和Constraints.Max!框架api.

但是,仍然1.sql文件(由Ebean DDL自动创建)将此变量定义为VARCHAR(255).

提前致谢!

database ebean playframework-2.0

13
推荐指数
2
解决办法
7874
查看次数

BigDecimal的JPA @Size注释

如何使用@SizeMySQL DECIMAL(x,y)列的注释?

我正在使用BigDecimal,但是当我尝试包含@Size max它时它不起作用.这是我的代码:

@Size(max = 7,2)
@Column(name = "weight")
private BigDecimal weight;
Run Code Online (Sandbox Code Playgroud)

java mysql jpa bean-validation

13
推荐指数
3
解决办法
3万
查看次数

如何在Default Spring Data JPA方法上添加QueryHints?

我能够将查询缓存与Spring Data JPA一起用于我的自定义查询方法,如下所示.

public interface CountryRepository extends JpaRepository<Country, String> {
@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value ="true") })
Country findByCountryName(String countryName);
@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value ="true") })
Country findByCountryCode(String countryCode); }
Run Code Online (Sandbox Code Playgroud)

但是,如何在现有父方法(如findAll())上添加@QueryHints?

谢谢.

spring spring-data-jpa

11
推荐指数
1
解决办法
9497
查看次数

玩!框架 - Evolutions的数据库问题

我正在玩Play!框架2.0,我陷入了涉及数据库的恼人问题.

假设我有一个User(延伸Model它具有一些属性()类first_name,last_name,email,password等).

在某些时候,我想添加一个新属性,让我们说last_ip(它并不重要).所以,我将该属性添加到User类中,编译并运行.

问题是:我得到关于数据库更改的红色警报(显然),要求我按"应用更改"(如果我没记错的话).那很好但是!所有数据库记录都被删除了!

总结:我想要一个新的领域,但我不想丢失我已经添加到数据库的所有记录.这可能吗?

java web-development-server playframework-2.0

11
推荐指数
1
解决办法
7991
查看次数

是PersistenceAnnotationBeanPostProcessor的任何用途吗?

根据其JavaDoc,PersistenceAnnotationBeanPostProcessor似乎负责使用注释@PersistenceContext注入EntityManager.它似乎暗示如果没有在Spring应用程序上下文xml中声明这个bean,@ PerersContext注释将不起作用.

但是,根据我的实验,这不是事实.

persistence.xml中

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0">
    <persistence-unit name="default" transaction-type="RESOURCE_LOCAL" />
</persistence>
Run Code Online (Sandbox Code Playgroud)

Spring应用程序上下文XML

<context:component-scan base-package="com.test.dao" />

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="persistenceUnitName" value="default"/>
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true"/>
            <property name="generateDdl" value="true"/>
            <property name="databasePlatform" value="org.hibernate.dialect.DerbyDialect"/>
        </bean>
    </property>
</bean>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver"/>
    <property name="url" value="jdbc:derby://localhost:1527/c:\derbydb\mydb"/>
    <property name="username" value="APP"/>
    <property name="password" value="APP"/>
</bean>

<tx:annotation-driven/>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

<!-- 
    <bean id="persistenceAnnotation" class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
 -->
Run Code Online (Sandbox Code Playgroud)

在UserDAOImpl

@Repository("userDao")
public class UserDaoImpl …
Run Code Online (Sandbox Code Playgroud)

java spring entitymanager java-ee spring-data

11
推荐指数
2
解决办法
8618
查看次数

Hibernate NoCacheRegionFactoryAvailableException

我得到了一个奇怪的Hibernate异常,我无法解释.它告诉我,我正在使用二级缓存,但没有在哪里hibernate.cfg.xml指定二级缓存.这是例外:

org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the
application, but property hibernate.cache.region.factory_class is not given, please either
disable second level cache or set correct region factory class name to property
hibernate.cache.region.factory_class (and make sure the second level cache provider,
hibernate-infinispan, for example, is available in the classpath).
    at org.hibernate.cache.internal.NoCachingRegionFactory.buildEntityRegion(NoCachingRegionFactory.java:69)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:348)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1769)
    at net.me.myapp.common.dao.SessionFactoryProvider.newSessionFactory(SessionFactoryProvider.java:37)
    at net.me.myapp.common.dao.BaseDAO.doPersist(BaseDAO.java:28)
    at net.me.myapp.common.dao.WordDAO.deleteAllWords(WordDAO.java:36)
    at net.me.myapp.tools.dmapper.DictionaryMapper.run(DictionaryMapper.java:88)
    at net.me.myapp.tools.dmapper.DictionaryMapper.main(DictionaryMapper.java:56)
Run Code Online (Sandbox Code Playgroud)

我的hibernate.cfg.xml:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration> …
Run Code Online (Sandbox Code Playgroud)

java caching hibernate

11
推荐指数
3
解决办法
3万
查看次数

@CascadeOnDelete和CascadeType.REMOVE注释之间有什么区别?

起初我已经预料到,CascadeType.REMOVE我将能够删除表中的外键,但我有一个例外.但是@CascadeOnDelete没关系.两个注释之间有什么区别?

编辑:我已经看到了DataNucleus的评论.关于删除的过程来自org.eclipse.persistence.annotations.CascadeOnDelete.Which提出了一个问题,如何使用好主意.

java sql jpa eclipselink

10
推荐指数
1
解决办法
1491
查看次数

如何让Hibernate FetchProfile加载层次结构中的深层子对象

我和Hibernate社区中发布的人有相同的问题:FetchProfiles.

出于性能原因,我在数据模型中有如下关系:

...C -[FetchType.LAZY]-> D -> [FetchType.LAZY] -> E
Run Code Online (Sandbox Code Playgroud)

使用FetchProfile我热切负荷d与C,但我无法弄清楚如何急切地加载E.我知道我可以使用内部连接成功使用一个NamedQuery,但它真正的错误我,我不能工作了怎么办它使用FetchProfile.尝试FetchProfile的一个例子(在时间的迷雾中丢失了任何其他东西):

@FetchProfile(name = "cwithDAndE", fetchOverrides = {
        @FetchProfile.FetchOverride(entity = C.class, association = "dByCId", mode = FetchMode.JOIN),
        @FetchProfile.FetchOverride(entity = D.class, association = "eByDId", mode = FetchMode.JOIN)
})
Run Code Online (Sandbox Code Playgroud)

我为会话启用了FetchProfile并成功使用了session.get而没有错误,并且填充了C和D - E仍然是懒惰且未填充的.无奈之下,我记得从C向下尝试点关联.我只能找到深度为1的示例.

据我所知,这是一个需要填充的OCD类型差距!

在此先感谢您的帮助.

java profile hibernate fetch

9
推荐指数
1
解决办法
4967
查看次数

带注释的Spring + Hibernate:没有Hibernate会话绑定到线程

我是Spring的新手,我正在尝试使用以下堆栈创建一个webapp:Apache Tomcat 7,MySQL,Spring MVC,带有JPA注释的Hibernate 3.

我正试图通过遵循Craig Walls的"Spring in Action,第三版"一书来学习.

首先,我想创建一个页面,显示我手动添加到我的数据库中的一些条目,但看起来我的应用程序无法从SessionFactory创建/检索任何Hibernate会话.这是我的根本原因堆栈跟踪:

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
    org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
    org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:687)
    com.nbarraille.www.dao.HibernateContactDAO.listContact(HibernateContactDAO.java:27)
    com.nbarraille.www.controllers.HomeController.showHomePage(HomeController.java:24)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:613)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Run Code Online (Sandbox Code Playgroud)

这是我关心的Classes/Config文件:

我的HibernateDAO:

@Repository
public …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate sessionfactory

8
推荐指数
1
解决办法
3万
查看次数

从模式生成jaxb类

我试图在eclipse中使用Jaxb类生成器从我的模式生成jaxb类.我收到以下错误:

"此项目的类路径似乎不包含继续生成类所需的库.请确保类路径上有JAXB实现."

我怎么解决这个问题?

java eclipse jaxb

8
推荐指数
2
解决办法
2万
查看次数