我将JSON解析为Date对象时遇到问题.
我使用Jersey 1.14,Tomcat 7.
我的资源类:
@Path("/user")
@Produces(MediaType.APPLICATION_JSON)
public class UserResource {
@Path("/~/update")
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response updateUser(User user) {
// There are update in DB
// but Date field always null
return Response.ok().build();
}
@Path("/~/get")
@GET
public User getUser() {
// There are I fetch User from DB
// Works fine, User instance returns in correct JSON
return user;
}
}
Run Code Online (Sandbox Code Playgroud)
我的型号:
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "user")
public class User {
@XmlElement(name = "name")
private String name;
@XmlElement(name = "myDate")
@XmlJavaTypeAdapter(DateAdapter.class) …Run Code Online (Sandbox Code Playgroud) 我在使用 JPA2 (EclipseLink) 和 Spring Data 1.4.2 时遇到一些问题。就我而言,两个表具有一对一的关系:
表A:
表B:
所以我尝试做这个实体:
实体A:
@Entity
@Table(name = "TableA")
public class EntityA implements Serializable {
@Id
@GeneratedValue
@Column(name = "aId")
private Long id;
// another fields and getter/setter/business methods
...
}
Run Code Online (Sandbox Code Playgroud)
实体B:
@Entity
@Table(name = "TableB")
public class EntityB {
@Id
@OneToOne
@JoinColumn(name = "bId", referencedColumnName = "aId")
private EntityA id;
// another fields and getter/setter/business methods
...
}
Run Code Online (Sandbox Code Playgroud)
EntityA 的 Spring Data …
对不起,我的英语不好.我为AbstractRoutingDataSource编写了实现:
public class DatabaseRoutingDataSource extends AbstractRoutingDataSource{
@Override
protected Object determineCurrentLookupKey() {
return DatabaseContextHolder.getDatabaseType();
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了用于在数据库之间切换的新类:
public class DatabaseContextHolder {
private static final ThreadLocal<DatabaseType> contextHolder = new ThreadLocal<DatabaseType>();
public static void setDatabaseType(DatabaseType databaseType) {
contextHolder.set(databaseType);
}
public static DatabaseType getDatabaseType() {
return (DatabaseType) contextHolder.get();
}
public static void clearDatabaseType() {
contextHolder.remove();
}
}
Run Code Online (Sandbox Code Playgroud)
其中DatabaseType是:
public enum DatabaseType {
MAIN,
BACKUP
}
Run Code Online (Sandbox Code Playgroud)
在我的beans.xml中:
<bean id="mainDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/jdbc/DBMIDS"/>
</bean>
<bean id="backupDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/jdbc/DBMIDS2"/>
</bean>
<bean id="dataSource" class="DatabaseRoutingDataSource">
<property …Run Code Online (Sandbox Code Playgroud)