小编Fra*_*ois的帖子

如何使用JPA和Hibernate映射计算的属性

我的Java bean有一个childCount属性.此属性未映射到数据库列.相反,它应该由数据库计算,其COUNT()函数是在我的Java bean及其子代的连接上运行的.如果这个属性可以按需计算/"懒惰"会更好,但这不是强制性的.

在最糟糕的情况下,我可以使用HQL或Criteria API设置此bean的属性,但我不愿意.

Hibernate @Formula注释可能会有所帮助,但我几乎找不到任何文档.

任何帮助非常感谢.谢谢.

java orm hibernate jpa hibernate-mapping

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

使用Spring注释实例化同一类的多个bean

使用XML配置的Spring bean工厂,我可以使用不同的参数轻松实例化同一个类的多个实例.我怎么能用注释做同样的事情?我想要这样的东西:

@Component(firstName="joe", lastName="smith")
@Component(firstName="mary", lastName="Williams")
public class Person { /* blah blah */ }
Run Code Online (Sandbox Code Playgroud)

spring annotations

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

Hibernate/JPA:在子集合中重复

我的数据模型由学校和学生组成.学生有FK到他们所属的学校.我不明白为什么集合包含重复项,即Joe,Joe,Mary,Mary,Tom,Tom等.Hibernate生成的SQL查询是正确的,不会返回重复项.我可以实现一个黑客来过滤重复项,但我还没准备好与破窗户一起生活;)我试图粘贴下面的相关代码片段.任何帮助非常感谢!

// SchoolJpa

@OneToMany (
    mappedBy = "school",
    targetEntity = StudentJpa.class,
    fetch = FetchType.LAZY,
    cascade = CascadeType.ALL
)
@Override
public List<Student> getStudentsInternal() {
    return super.getStudentsInternal();
}

// SchoolImpl

private List<Student> students = new ArrayList<Student>();

public List<Student> getStudents() {
    return Collections.unmodifiableList(students);
}

public List<Student> getStudentsInternal() {
    return students;
}

public void setStudentsInternal(List<Students> students) {
    this.students = students;
}
Run Code Online (Sandbox Code Playgroud)

hibernate jpa

7
推荐指数
2
解决办法
8604
查看次数

Spring 3 mvc命名空间和i18n

i18n和Spring 3 mvc命名空间的问题

在使用Spring的mvc命名空间时,我还没弄清楚如何解析消息.

例如,具有以下行的JSP:

<fmt:message key="welcome.title"/>
Run Code Online (Sandbox Code Playgroud)

说明:

???welcome.title???
Run Code Online (Sandbox Code Playgroud)

我在WEB-INF下有一个带有messages.properties的消息目录.

这是web-servlet.xml(我的调度程序servlet名为web).任何帮助非常感谢.

<!-- Scans for @Controllers to deploy as beans -->
<context:component-scan base-package="com.mylittlecompany.web.controllers" />

<!-- Enable annotation driven controllers, validation etc... -->
<mvc:annotation-driven />

<!-- Configures Handler Interceptors -->
<mvc:interceptors>
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
</mvc:interceptors>

<!-- Application Message Bundle -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="/WEB-INF/messages/messages" />
    <property name="cacheSeconds" value="1" />
</bean>

<!-- Saves a locale change using a cookie -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />

<!-- Resolves view names to protected .jsp …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc internationalization

5
推荐指数
1
解决办法
8319
查看次数

Spring和JUnit注释测试:在单独的事务中创建fixture

我正在使用Spring和JUnit测试我的Hibernate DAO.

我希望每个测试方法都以预先填充的DB开始,即Java对象已经保存在DB中,已经提交的Hibernate事务中.我怎样才能做到这一点?

使用@After和@Before,方法在与@Test和@Transactional装饰的方法相同的Hibernate事务中执行(在实际测试方法启动时,第一级缓存可能不会刷新).@BeforeTransaction和@AfterTransaction显然无法与Hibernate一起使用,因为除了@ Before/AfterTransaction之外,即使使用@Transactional注释方法,它们也不会创建事务.

有什么建议吗?

junit spring annotations hibernate

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