使用JodaTime Instant进行Hibernate版本控制

使用java.time.Instant和Hibernate一起工作(我使用的是hibernate-java8 , 这里给出了更多的解决方案)。 使用它作为@Version是一个问题。 我正在使用Hibernate 5.1.7.Final(传统和JPA的混合)注释。 我的实体使用版本 @javax.persistence.Version @javax.persistence.Column( columnDefinition=”TIMESTAMP(3) DEFAULT ‘2016-01-01′”) private Instant mytimestamp; MySQL解释为 `mytimestamp` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) 这太疯狂了,但不是我的观点。 我想知道Hibernate如何分配mytimestamp ,如果我可以改变方式并且我可以检索该值。 看起来所有三个答案都是“不”。 Hibernate不分配mytimestamp ; 它由MySQL分配ON UPDATE 。 这不适用于不支持此hack的数据库。 我想知道这是故意还是偶然的。 所以我添加@org.hibernate.annotations.Source(SourceType.VM)只是为了发现版本生成使用TimestampType.seed(SessionImplementor session)返回新的java.sql.Timestamp ,它不能分配给一个字段输入Instant 。 使用SourceType.DB ,我得到DbTimestampType ,它是TimestampType的子类,导致相同的exception。 我没有看到如何在没有额外查询的情况下检索时间戳。 所以我的问题: 我可以让Hibernate分配Instant mytimestamp吗? 或者我可以让它调用我的代码,所以我可以自己分配它?

使用Java DSL进行Spring集成的动态TCP服务器

我试图通过读取包含连接细节的属性文件来创建TCP服务器和客户端。 我在下面的参考文档(9.20动态和运行时集成流程)的帮助下使用动态和运行时集成流程 代码在创建客户端时工作正常,但是当我使用相同代码中的更改创建服务器时,如下所示: IntegrationFlow flow = f -> f .handle(Tcp.inboundAdapter(Tcp.netServer(2221) .serializer(TcpCodecs.crlf()) .deserializer(TcpCodecs.lengthHeader1()) .id(“server”))) .transform(Transformers.objectToString()); IntegrationFlowRegistration theFlow = this.flowContext.registration(flow).register(); 我收到以下错误: Caused by: java.lang.IllegalArgumentException: Found ambiguous parameter type [class java.lang.String] for method match: [public java.lang.Class org.springframework.integration.dsl.IntegrationComponentSpec.getObjectType(), public S org.springframework.integration.dsl.MessageProducerSpec.outputChannel(java.lang.String), public S org.springframework.integration.dsl.MessageProducerSpec.outputChannel(org.springframework.messaging.MessageChannel), public org.springframework.integration.ip.dsl.TcpInboundChannelAdapterSpec org.springframework.integration.ip.dsl.TcpInboundChannelAdapterSpec.taskScheduler(org.springframework.scheduling.TaskScheduler), public S org.springframework.integration.dsl.MessageProducerSpec.errorMessageStrategy(org.springframework.integration.support.ErrorMessageStrategy), public S org.springframework.integration.dsl.MessageProducerSpec.phase(int), public S org.springframework.integration.dsl.MessageProducerSpec.autoStartup(boolean), public S org.springframework.integration.dsl.MessageProducerSpec.sendTimeout(long)] […]

Java Locale字体问题..?

[编辑]这发生在使用Java 1.5的OSX上! (但也可能发生在Windows上!) 我的Java Swing程序的日本用户似乎无法在JTextFields中编写日语符号。 实际上他们可以写出来但却看不到它们。 他们只看到以某种方式表示我认为该字体不支持这些符号的块。 我出于各种原因设置了自己的字体(“Lucida Sans”,Font.PLAIN,12) – 我不想改变。 我的问题是: 如果没有我设置这个字体,JTextFields会显示日语符号吗? 我可以检测到我的Font完全支持哪些Locale,并且只在这些情况下设置它,但是为Locale.Japan等所有其他情况保留标准Java字体? 你有什么其他的建议? 感谢您的帮助!

检查HTTP POST请求的内容类型到Java servlet

我编写了一个简单的servlet,它接受HTTP POST请求并发回一个简短的响应。 这是servlet的代码: import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.*; /** * Servlet implementation class MapleTAServlet */ @WebServlet(description = “Receives XML request text containing grade data and returns response in XML”, urlPatterns = { “/MapleTAServlet” }) public class MapleTAServlet extends […]

配置驱动的GWT UI是否可行?

我希望有一个配置驱动的UI的GWT应用程序,这意味着如果我进行某些数据库更改,或部署不同的XML描述符(在WAR之外),那么我可以改变外观,感觉和行为UI没有部署任何代码更改。 我想要这个问题的原因不在于这个问题的背景下,我需要提供一个太大的无关紧要的背景故事来certificate将这一切放在这个问题中。 例如,假设有一个特定配置,UI(GWT词汇中的位置,或页面/屏幕)可能只包含屏幕中心的简单按钮。 然后,我做了一些数据库更改,现在,同一个地方呈现屏幕的每个角落有4个按钮,中间有一个“Hello,GWT”标签。 相同的代码,但不同的DB值(或XML)导致UI的外观/感觉/行为不同。 我正在试图弄清楚如何设计这样一个系统,但我正在努力,不确定它是否可能。 如果有可能的话,我会很好地解释它是如何工作的,甚至可能是一些伪代码,以获得创造性的果汁。 如果不可能,那么我想要一个具体的(明确的)答案。 正如我在StackOverflow上发现的那么多次,当有人说“ 这是不可能的! ”时,它通常只是一个超出他们理解水平的高级主题:-),而我所要求的并非不可能,它是太难了! 提前致谢!

如何在Google地图中创建自定义地图?

我正在尝试创建一个包含我家地图的Google地图应用程序。 (卧室,洗手间,厨房等) 使用GPS,我会在我的房子里找到我现在的位置,并尝试到我卧室的方向/步行距离。 (您可以使用Google的API获取指示) 我需要知道的是: 如何添加我家的自定义地图? 要获得方向和步行距离? 您将必须提供您当前的地理坐标(我现在所在的位置)和您的目的地(厨房)地理坐标,因此Google可以找到从我到达下一个地方的步行距离和方向去(去厨房)?

静态资源的URI中的上下文路径,我真的需要指定它吗?

我有一个简单的网络应用程序 webapp static images – a.gif pages – test.html WEB-INF pages – test.jsp 在test.html中,有 问题是,在我将uri更改为之前,图像不会显示 但是我在URI上加载test.html http://server/web app name/static/pages/test.html 我在我的web.xml中配置了静态资源映射,如下所示。 springWeb org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:applicationContext-web.xml 1 springWeb / resourceServlet org.springframework.js.resource.ResourceServlet 1 resourceServlet /static/* 我错过了什么吗? 我确实希望在DEV阶段将这些静态资源保留在应用程序中,而不是将它们移动到HTTP服务器。 非常感谢。

如何让Spring Controller从POJO返回CSV?

给出一个简单的Java对象: public class Pojo { private String x; private String y; private String z; //… getters/setters … } 是否有一些我可以放在我的项目上的lib,它将构成一个像这样的控制器: @RequestMapping(value=”/csv”, method=RequestMethod.GET, produces= MediaType.TEXT_PLAIN) @ResponseBody public List csv() { //Some code to get a list of Pojo objects //… return myListOfPojos; } 要生成我的Pojos的csv文件? 对于Json结果,我使用Jackson lib。 我需要另一个用于CSV结果的lib。

removeAll()时TreeSet中的NullPointerException

从Collection.removeAll()的文档: 抛出: NullPointerException – 如果此collection包含一个或多个null元素且指定的collection不支持null元素(可选),或者指定的collection为null。 但是下面的代码仍然会抛出NullPointerException : public class TestSet { public static void main(String[] args) { Set set1 = new TreeSet(); set1.add(“A”); set1.add(“B”); Set set2 = new HashSet(); set2.add(null); set1.removeAll(set2); } } 有人能帮我理解这种行为吗?

HTMLunit – Facebook登录

final WebClient webClient = new WebClient(); webClient.setJavaScriptEngine(new JavaScriptEngine(webClient)); HtmlPage page1 = null; try { page1 = webClient.getPage(“http://www.facebook.com”); } catch (IOException e) { e.printStackTrace(); } final HtmlForm form = (HtmlForm) page1.getElementById(“login_form”); final HtmlSubmitInput button = (HtmlSubmitInput) form.getInputsByValue(“Log In”).get(0); final HtmlTextInput textField = (HtmlTextInput) page1.getElementById(“email”); textField.setValueAttribute(“test@test.com”); final HtmlPasswordInput textField2 = (HtmlPasswordInput) page1.getElementById(“pass”); textField2.setValueAttribute(“password1”); try { HtmlPage page2 […]