我使用Spring Data,JPA,Hibernate和MySQL.事件和类别之间有一对多的关系.显然,一个事件只能有一个类别,一个类别可以分配许多事件.当我尝试删除Category时出现问题,如果任何事件持有此类别的外键,则会出现错误.我想在删除类别时将Event表中的外键设置为null.目前,我通过在删除Category之前将其更新为null,在代码中显式设置外键来更新所有事件.有没有办法在使用注释时这样做?
这是我的分类:
@Entity
@Table(name = "category")
public class Category implements Serializable{
@OneToMany(mappedBy="category", targetEntity=Event.class, fetch=FetchType.LAZY, cascade=
{CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
public Set<Event> getEvents_category() {
return events_category;
}
}
Run Code Online (Sandbox Code Playgroud)
和Event类:
@Entity
@Table(name = "event")
public class Event implements Serializable{
@ManyToOne(cascade={CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST,
CascadeType.REFRESH})
@JoinColumn(name="events_dancestyle")
public DanceStyle getDanceStyle() {
return danceStyle;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经看过很多次讨论这个话题,但我还没有看到任何解决方案.
我有一个使用websockets的应用程序(STOMP over SockJs),后端有Spring.应用程序在Tomcat上的localhost上工作正常(websockets)但是当我部署到Heroku或AWS Web Sockets停止工作时.我在Angular2中的websocket配置
let sockjs = new SockJS('/rest/add?jwt=' + this.authService.getToken(), {"devel":true,"debug":true}, {"transports":["websocket"]});
Run Code Online (Sandbox Code Playgroud)
我也尝试过
{"disabled_transports":["websocket"]}
Run Code Online (Sandbox Code Playgroud)
但两者都失败了.web.xml中
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>default</param-value>
</context-param>
<servlet>
<servlet-name>ws</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/ws-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>ws</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/rest/*</url-pattern>
</filter-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
春天的websocket
<websocket:message-broker
application-destination-prefix="/app">
<websocket:stomp-endpoint path="/add">
<websocket:sockjs/>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic, /queue" />
</websocket:message-broker>
Run Code Online (Sandbox Code Playgroud)
我在Heroku上的应用程序的URL,因此您可以在Web浏览器的控制台中自行检查. 链接 请看更新日志,这件事让我担心没有TransportHandler
CJyb2xlcyI6IkNVU1RPTUVSIn0.wFqNOduN-lD1-9GIRnG1X1aLJZTxtz9c6vmO7jmPPiE2017-04-06T16:23:32.439917+00:00 app[web.1]: 2017-04-06 16:2332 WARN DefaultSockJsService:239 - No TransportHandler for http://myapp-ws.herokuapp.com/rest/add/097/eyocvxic/websocket?jwt=eyJhbGciOiJI
Run Code Online (Sandbox Code Playgroud) 我正在构建java应用程序(Spring&JSF和PrimeFaces).我上传文件到服务器,但是,如果我在文件上传结束后点击"下一步"按钮,我收到此错误:
Aug 24, 2013 8:12:34 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/codekata] threw exception [Request processing failed; nested exception is org.springframework.webflow.execution.repository.FlowExecutionRestorationFailureException: A problem occurred restoring the flow execution with key 'e1s3'] with root cause
java.io.FileNotFoundException: C:\Users\Luke\AppData\Local\Temp\upload__6f71235a_140b1bdd246__8000_00000011.tmp (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at org.apache.commons.fileupload.disk.DiskFileItem.readObject(DiskFileItem.java:709)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1891)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
java.lang.Thread.run(Thread.java:722)
Run Code Online (Sandbox Code Playgroud)
如果我等了几秒钟,一切正常.我假设上传文件需要有时间将自己复制到临时文件夹,有没有人知道如何解决这个问题.我使用Tomcat 7.
这是我的下载方法:
public StreamedContent getDownloadFile()
{
InputStream …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种以编程方式在jetty中设置spring配置文件的方法,以便服务器上的war文件使用给定配置文件的应用程序,这是我的代码:
final WebAppContext context = new WebAppContext();
context.setLogUrlOnStart(true);
context.setWar("target/deployables/myapp-rest/myapp-rest.war");
context.setContextPath("/" + TEST_APP_CONTEXT);
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();
Run Code Online (Sandbox Code Playgroud)
我尝试了几件事,但似乎都没有工作......我需要通过 -Dspring.profiles.active=myProfile
我正在尝试构建正则表达式,它将过滤表单字符串中的所有非字母字符,如果任何字符串包含单引号,那么我想将其保留为规则的例外。
所以例如当我输入
car's34
Run Code Online (Sandbox Code Playgroud)
结果我想得到
car's
Run Code Online (Sandbox Code Playgroud)
当我进入
*&* Lisa's car 0)*
Run Code Online (Sandbox Code Playgroud)
我想得到
Lisa's
Run Code Online (Sandbox Code Playgroud)
目前我使用这个:
string.replaceAll("[^A-Za-z]", "")
Run Code Online (Sandbox Code Playgroud)
但是,它只给了我字母表,并删除了所需的单个配额。