我的主要课程是
public class UserAddressesForm {
@NotEmpty
private String firstName;
@NotEmpty
private String lastName;
private List<AddressForm> addresses;
...
setters and getters
public class AddressForm {
@NotEmpty
private String customName;
@NotEmpty
private String city;
@NotEmpty
private String streetAn;
@NotEmpty
private String streetHn;
@NotEmpty
private String addressCountry;
@NotEmpty
private String postCode;
...
setters and getters
Run Code Online (Sandbox Code Playgroud)
控制器
@RequestMapping(value = "/up", method = RequestMethod.POST)
public String completeForm(@Valid @ModelAttribute("userAddressesForm") UserAddressesForm userAddressesForm,
BindingResult result, HttpServletRequest req)
...
Run Code Online (Sandbox Code Playgroud)
一个JSP页面
<form:form commandName="userAddressesForm" action="registered">
<table>
<tr>
<td class="formLabels"><form:label path="firstName">
<spring:message …Run Code Online (Sandbox Code Playgroud) 我有JSP代码,如:
<div class="formRow">
<form:input id="email_email" name="email_email" title="XXXXX"/>" path="email" cssClass="input required email" />
<form:errors path="email" cssClass="error" />
</div>
Run Code Online (Sandbox Code Playgroud)
我想title用一些工具提示文本设置属性,支持i18n.我该怎么做?
我希望做这样的事情:
<div class="formRow">
<form:input id="email_email" name="email_email" title="<spring:message code="tooltip.text" />"/>" path="email" cssClass="input required email" />
<form:errors path="email" cssClass="error" />
</div>
Run Code Online (Sandbox Code Playgroud) 我有一个非常复杂的模型.实体有很多关系,等等.
我尝试使用Spring Data JPA并准备了一个存储库.
但是当我调用metod findAll()时,对象a的规范有一个性能问题,因为对象非常大.我知道,因为当我调用这样的方法时:
@Query(value = "select id, name from Customer ")
List<Object[]> myFindCustomerIds();
Run Code Online (Sandbox Code Playgroud)
我的表现没有任何问题.
但是当我调用时
List<Customer> findAll();
Run Code Online (Sandbox Code Playgroud)
我的表现存在很大问题.
问题是我需要使用Specifications for Customer调用findAll方法,这就是为什么我不能使用返回对象数组列表的方法.
如何编写方法来查找具有Customer实体规范但仅返回ID的所有客户.
像这样:
List<Long> findAll(Specification<Customer> spec);
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我的实体类:
@Entity
@Table(name = "user")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name = "USER_ID_GENERATOR", sequenceName = "USER_SEQ")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_ID_GENERATOR")
@Column(name = "user_id")
private long userId;
@Temporal(TemporalType.DATE)
private Date created;
@Temporal(TemporalType.DATE)
private Date modified;
//setters and getters...
}
Run Code Online (Sandbox Code Playgroud)
我想在创建或修改对象时自动将CREATED和MODIFIED字段相互补充.CREATED和MODIFIED字段应为TIMESTAMP类型.
我如何实现这一目标?
我试图使用Proguard(6.1.0beta1),但得到了
(Unsupported version number [55.0] (maximum 54.0, Java 10)))
Run Code Online (Sandbox Code Playgroud)
是否有ProGuard的替代品,可以使用Java 11进行管理?
[春季3.0.5] [jboss 5.1]
我有几个标记为的类@Service,它实现了相同的接口.
例如,
@Service(value="test1")
public TestImpl1 implements Test {}
@Service(value="test2")
public TestImpl2 implements Test {}
Run Code Online (Sandbox Code Playgroud)
接下来,我有以下结构
public SomeClass {
@Autowired
@Qualifier("test1")
Test test1;
@Autowired
@Qualifier("test2")
Test test2;
Run Code Online (Sandbox Code Playgroud)
我得到一个例外(在部署时)
10:36:58,277 ERROR [[/test-web]] Servlet /test-web threw load()
exception
org.springframework.beans.factory.NoSuchBeanDefinitionException: No
unique bean of type [pl.tests] is defined: expected single matching
bean but found 2: [test1, test2]
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.doReso lveDependency(DefaultListableBeanFactory.java:
796)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolv eDependency(DefaultListableBeanFactory.java:
703)
at
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostPro cessor
$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:
474)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
T.
Oracle 10g,Hibernate 3.4
此更新(基于long user.userId值)正确完成:
getHibernateTemplate().bulkUpdate("update Address address set address.preferred = 1 where address.user.userId = ?", 1l);
Run Code Online (Sandbox Code Playgroud)
这个(基于String user.language值)抛出一个异常ORA-00971: missing SET keyword:
getHibernateTemplate().bulkUpdate("update Address address set address.preferred = 1 where address.user.language = ?", "en");
Run Code Online (Sandbox Code Playgroud)
谁知道为什么?
我的电子邮件内容文本是
String text = "Hey, You are create a new Account! Best, MyTeam";
Run Code Online (Sandbox Code Playgroud)
如何将文本格式化为:
嘿, 您正在创建一个新帐户! 最好的,我的团队
我正在使用Spring Data JPA,我有一堆像这样的存储库:
public interface CustomerRepository extends JpaRepository<Customer, Long> {}
Run Code Online (Sandbox Code Playgroud)
在存储库下我有服务,其中很多需要实现方法findOrCreate(String name),如下所示:
@Override
@Transactional
public List<Customer> findOrCreate(final String name) {
checkNotNull(name);
List<Customer> result = this.customerRepository.findByName(name);
if (result.isEmpty()) {
LOGGER.info("Cannot find customer. Creating a new customer. [name={}]", name);
Customer customer = new Customer(name);
return Arrays.asList(this.customerRepository.save(customer));
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我想将方法提取到抽象类或某个地方,以避免为每个服务,测试等实现它.
抽象类可以是这样的:
public abstract class AbstractManagementService<T, R extends JpaRepository<T, Serializable>> {
protected List<T> findOrCreate(T entity, R repository) {
checkNotNull(entity);
checkNotNull(repository);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
问题在于,由于我需要在创建新对象之前按名称查找对象作为字符串.当然接口JpaRepository不提供此方法.
我怎么解决这个问题?
最好的祝福
该服务获取一个包含三个值列表的未知对象[column,operator,value]例如,EMAIL - like - "TEST"
基于结果列表来构建我有的WHERE子句但我也能够构建如下的条件(例如)
WHERE(电子邮件,如'test'和user_id <> 5)或(trans_id <100 AND session_id> 500)
有谁可以帮我怎么做?
我的应用程序获取对数据库的String对象查询.例如String query = EMAIL like '% test%' and USER_NAME like '% user%'.查询是动态构建的,我不知道它的结构,所以我无法利用PrepareStatement.有谁知道在这种情况下防止SQL注入的方式?
数据库:Oracle
语言:Java 1.6
请帮忙.
验证问题
当方法"注册"时我会运行验证
在webflow中:...
<transition on="registered" to="registeredAction" bind="true" validate="true" />
Run Code Online (Sandbox Code Playgroud)
...
我的模型看起来像这样:
class User {
private String name;
private String surname;
...
private List <address> addresses;
...
public void validateRegistered (ValidationContext context) {
Context.getMessageContext MessageContext messages = ();
if (name == null) {
messages.addMessage (new MessageBuilder (.) error (). source ("name".) code (MessageCodes.Error.REQUIRED.) build ());
}
}
Run Code Online (Sandbox Code Playgroud)
在Address类中
Class Address {
private String street;
private String city;
public void validateRegistered (ValidationContext context) {
Context.getMessageContext MessageContext messages = ();
if (street == …Run Code Online (Sandbox Code Playgroud) java ×10
spring ×8
oracle ×3
hibernate ×2
jpa ×2
spring-mvc ×2
sql ×2
annotations ×1
criteria-api ×1
email ×1
ibatis ×1
javabeans ×1
json ×1
jsp ×1
jsr ×1
mybatis ×1
orm ×1
proguard ×1
spring-data ×1
validation ×1
velocity ×1