这个错误是什么?" 没有Hibernate会话绑定到线程,配置不允许在这里创建非事务性的 ".我的spring配置文件看起来像这样.
<bean id="jndiDataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/devDS</value>
</property>
</bean>
<bean id="stsaDBFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="jndiDataSource" />
<property name="annotatedClasses">
<list>
<value>xx.yy.zz.User</value>
<value>xx.yy.UserResponse</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbmddl.auto">create</prop>
</props>
</property>
</bean>
<!-- ################################### Aspects ################################################## -->
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="stsaDBFactory" />
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
当我使用junit在容器外测试它们时,所有DAO测试都通过了.当我将它作为门户应用程序部署在jBoss中时,我得到了这个例外.如果我删除门户特定配置并使其成为一个简单的Web应用程序并将其部署在jboss.Any想法它也工作正常?
我有一个名为User的域对象.用户的属性包括ssoId,name,email,createdBy,createdDate和userRole.其中,ssoId必须是唯一的,因为没有两个用户可以拥有相同的sso id.所以我的equals方法检查sso id并返回true或false.
@Override public boolean equals(Object o) {
if (!(o instanceof User))
return false;
return user.getSsoId().equals((User)o.getSsoId());
}
Run Code Online (Sandbox Code Playgroud)
我觉得这是一个不正确的实现,尽管就业务规则而言是正确的.对于具有相同sso id但具有不同的名称或电子邮件或两者的值的两个对象,上述实现将返回true.我应该更改我的平等合同以检查所有字段的相等性吗?你的建议是什么?
为什么下面的代码打印2147483647,实际值是2147483648?
i = (int)Math.pow(2,31) ;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
我知道int可以容纳的最大正值是2147483647.那么为什么像这样的代码自动换向负面并打印-2147483648?
i = (int)Math.pow(2,31) +1 ;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
我是Integer类型.如果第二个代码示例(添加两个整数)如果结果超出正范围可以包装到负侧,为什么第一个样本不能包装?还有,
i = 2147483648 +1 ;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
这与第二个代码示例非常相似会抛出编译错误,说第一个文字超出整数范围?我的问题是,根据第二个代码示例,为什么第一个和第三个样本不能自动换行到另一个?
我有一个带有ajax函数的本地 html文件,试图从x.com中提取xml内容.运行时的文件仅适用于IE,并且在firefox和safari浏览器上失败.当然,这可能是因为同源政策.但是,我从某人那里听说,对于使用file://协议加载的脚本,这个相同的原始策略将不适用.是真的,如果是的话,我的本地html文件会出现什么问题?
在我4年的经验中,我开发了很多Web应用程序.现在,可编程网络的概念变得越来越流行,几乎每天都会发布新的API.我想为这些端点中的一些开发一个java API /库.Ex stackapps,reddit,digg等...我想知道的是你的人是,
.
如果细节不充分,请评论.
我有一个域对象,注释如下
@Entity
@Table(name = "REQUEST")
public class Request {
/**
* Unique id for this request
*/
@Id
@GeneratedValue
@Column(name = "EQ_ID")
private long requestId;
/**
*
*/
@Column(name = "EMAIL_ID")
private String emailId;
/**
*
*/
@Column(name = "REQUEST_DATE")
private Date requestDate;
/**
*Getters/setters omitted
*/
}
Run Code Online (Sandbox Code Playgroud)
Request_date列不能为null,根据DDL,默认值为sysdate(oracle DB).如何对该字段进行注释,以便在requestDate属性为null时,hiberanate会自动插入sysdate.目前,当字段为空时,它会抛出错误,这非常明显,因为根据数据库约束它不能为空.我该怎么做?另一种方法是将此字段标记为瞬态,插入工作正常.但负面的方面是,我将无法检索(request_date列的)值.
我正在使用hibernate sequencegenerator为我的主键列自动生成唯一值.示例代码如下所示.
@Entity
@Table(name = "REQUEST")
@javax.persistence.SequenceGenerator(name = "REQ_SEQ", sequenceName = "REQUEST_SEQ")
public class Request {
/**
* Unique id for this request
*/
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "REQ_SEQ")
@Column(name = "REQ_ID")
private long requestId;
//So on
}
Run Code Online (Sandbox Code Playgroud)
除了生成的值是交错的这一事实外,一切正常.例如,它插入5000到5015(15个插入)的值,然后第16个插入产生的值为5100.然后它适用于一些后续插入并再次出现问题.我没有任何问题,只要生成的值是唯一的,但只是好奇知道是什么原因造成的.仅供参考,我正在使用Oracle.
java ×5
hibernate ×3
oracle ×2
ajax ×1
html ×1
javascript ×1
jpa ×1
jquery ×1
open-source ×1
orm ×1