我正在尝试将XMLGregorianCalendar日期分配给java.sql.Timestamp var,就像这样......
var1.setTimeStamp(Timestamp.valueOf(var2.getXMLGregorianCalendar().toString()))
Run Code Online (Sandbox Code Playgroud)
但显然,这不起作用,抛出异常......
java.lang.IllegalArgumentException:时间戳格式必须为yyyy-mm-dd hh:mm:ss [.fffffffff]
我也尝试过这个:
var1.setTimeStamp((Timestamp) var2.getXMLGregorianCalendar().getTime())
Run Code Online (Sandbox Code Playgroud)
但...
java.lang.ClassCastException:java.util.Date无法强制转换为java.sql.Timestamp
有任何想法吗..?谢谢!
我加载一些对象时遇到了一个奇怪的问题.我正在使用JPA 1,hibernate-core版本3.3.0.SP1和hibernate-entitymanager版本3.4.0.GA
假设我有这些JPA实体:
@Entity
@Table(name = "SLC_ELE")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.INTEGER, name = ElementoPrograma.C_ID_CTG_ELE)
public class Element {
...
}
@Entity
@Table(name = "SLC_ELE_ONE")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_ONE)
public class ElementTypeOne extends Element {
...
}
@Entity
@Table(name = "SLC_ELE_TWO")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_TWO)
public class ElementTypeTwo extends Element {
...
}
@Entity
@Table(name = ThreeElementExample.TABLENAME)
@AssociationOverrides({
@AssociationOverride(name = JpaMany3ManyEntity.ASOCIATION_OVERRIDE_ONE,
joinColumns =
@JoinColumn(name = Element.C_ID_ELE)),
@AssociationOverride(name = JpaMany3ManyEntity.ASOCIATION_OVERRIDE_TWO,
joinColumns =
@JoinColumn(name = OneEntity.C_ID_TWO)),
@AssociationOverride(name = JpaMany3ManyEntity.ASOCIATION_OVERRIDE_THREE,
joinColumns = …Run Code Online (Sandbox Code Playgroud) 使用JPA 1(hibernate-core版本3.3.0.SP1和hibernate-entitymanager版本3.4.0.GA):我有一些类似于下面定义的实体,其中ChildOne和ChildTwo从父实体扩展.
@Entity
@Table(name = "TABLE_FATHER")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.INTEGER, name = Father.C_ID_CTG)
public class Father {
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "sq")
@Column(name = "ID_PK", nullable = false)
@BusinessId
private Long id;
...
}
@Entity
@Table(name = "TABLE_CHILD_ONE")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_ONE)
public class ChildOne extends Father {
...
}
@Entity
@Table(name = "TABLE_CHILD_TWO")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_TWO)
public class ChildTwo extends Element {
...
}
Run Code Online (Sandbox Code Playgroud)
假设我有一个拥有父元素的实体,另一个拥有父元素的集合.在这两种情况下,应该去儿童实体.
@Entity
@Table(name = "TABLE_ONE")
public class OneTable {
@JoinColumn(name …Run Code Online (Sandbox Code Playgroud) 我已经阅读了很多关于这个错误的内容,但仍然没有发现错误.
我正在使用JdbcTemplate在一些带有一些时间戳列的表中插入一行我很确定时间戳是问题所在,好像从插入中删除它工作正常)
我的代码:
private static final String INSERT_CITAS = "INSERT INTO CITAS ("
+ "idCita, idServicio, " + "fechaCita, "
+ "idEstado, idUsuarioInicial) " + "VALUES (?, ?, ?, ?, ?)";
Object[] params = {
idCita,
citaQuenda.getIdServicio(),
getDateToDBFormat(citaQuenda.getFechaCita()),
ESTADO_INICIAL,
USUARIO_INICIAL };
String queryCitas = INSERT_CITAS;
super.getJdbcTemplate().update(queryCitas, params);
protected String getDateToDBFormat(Date fechaCreacion){
return "TO_TIMESTAMP('" +
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(fechaCreacion)
+ "', 'yyyy-mm-dd hh24:mi:ss')" ;
}
Run Code Online (Sandbox Code Playgroud)
并有下一个错误:
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO citas_55 (idCita, idServicio, fechaCita, idEstado, idUsuarioInicial) VALUES (?, ?, ?, ?, …Run Code Online (Sandbox Code Playgroud) 我在这里有这个片段:
Calendar cal = Calendar.getInstance();
System.out.println("calendar " + cal.getTime());
System.out.println("ms calendar" + cal.getTime().getTime());
long ms0 = cal.getTime().getTime();
cal.add(Calendar.HOUR, -1);
System.out.println("calendar one hour less " + cal.getTime());
System.out.println("ms calendar one hour less " + cal.getTime().getTime());
long ms1 = cal.getTime().getTime();
cal.setTimeInMillis(t0-t1);
System.out.println("result " + cal.getTime());
Run Code Online (Sandbox Code Playgroud)
我期待两个日期之间只有一个小时的差异.而不是我得到这个奇怪的结果:
calendar Wed Sep 23 09:51:36 CEST 2015
ms calendar 1442994696681
calendar one hour less Wed Sep 23 08:51:36 CEST 2015
ms calendar one hour less 1442991096681
result Thu Jan 01 02:00:00 CET 1970
Run Code Online (Sandbox Code Playgroud)
我错了什么?正如我在日期中看到的那样,我应该如何获得一小时的差异?
任何形式的帮助将不胜感激.提前致谢.
我正在尝试检测我的 jdbc 连接。我知道关于这个话题有几个类似的问题。
到目前为止,我尝试了所有方法,但找不到解决问题的正确方法。也试过这个问题的答案,没有结果: Apache Commons DBCP connection object problem, Thread: ClassCastException in org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
我正在使用 Tomcat 7 和 Java 7。这是我在 context.xml 中定义 oracle 连接池的地方:
<Resource name="jdbc/myDS"
type="javax.sql.DataSource"
auth="Container"
maxActive="350"
maxIdle="50"
minIdle="10"
maxWait="10000"
username="user_own"
password="mypassw"
accessToUnderlyingConnectionAllowed="true"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.110.173:1521/orcl" />
Run Code Online (Sandbox Code Playgroud)
我的仪器代码:
private static void initInstrumentation(Connection con, final String usuario, final String modulo, final String accion) throws Exception {
if (Utils.getParameter("instrumentation.active").equals("1")) {
try {
OracleConnection oracleConnection = null;
//This is where I try to get the oracle connection, but no succeed
if (con …Run Code Online (Sandbox Code Playgroud)