小编Voj*_*ěch的帖子

ORM - MappedSuperclass 上的多对多关系

我有一个课程如下:

AnimalClass [Id, Name, Set<Tag>]
|
+-- FishClass [FishSpecific]
+-- MammalClass [MammalSpecific]

Tag [Name]
Run Code Online (Sandbox Code Playgroud)

因此任何动物都可以有任意数量的关联标签。

为此,我在 AnimalClass 中使用:

@JoinTable(name="Animal_Tag")
@JoinColumn(name="animal_id", referencedColumnName="id", nullable=false)
@OneToMany(cascade=CascadeType.ALL)
@Getter
protected Set<Tag> tags = new HashSet<Tag>();
Run Code Online (Sandbox Code Playgroud)

我的问题是,Hibernate 将 mn 表创建为:

 Animal_Tag [FishClass_id, MammalClass_id, Tag_id]. 
Run Code Online (Sandbox Code Playgroud)

我希望有某种枚举:

 Animal_Tag [Animal_id, AnimalTypeEnumeration[ Fish | Mammal ], Tag_id].
Run Code Online (Sandbox Code Playgroud)

谢谢!

java orm hibernate

5
推荐指数
1
解决办法
2350
查看次数

使用@Controller获取所有带注释的控制器

有没有办法获得所有控制器的列表,这些控制器是用@Controller?注释的?我想用它们像:

@Autowired
public void addAll(List<Controller> controllers) throws Exception {
    for (Controller controller : controllers) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

java spring annotations

5
推荐指数
1
解决办法
4919
查看次数

将ServletOutputStream读取到String

我试图阅读FreemarkerView渲染的结果:

View view = viewResolver.resolveViewName(viewName, locale);
view.render(model, request, mockResponse);
Run Code Online (Sandbox Code Playgroud)

要读取结果,我创建了mockResponse,它封装了HttpServletResponse:

public class HttpServletResponseEx extends HttpServletResponseWrapper {

    ServletOutputStream outputStream;

    public HttpServletResponseEx(HttpServletResponse response) throws IOException {
        super(response);
        outputStream = new ServletOutputStreamEx();
    }

    @Override
    public ServletOutputStream getOutputStream() {
        return outputStream;
    }

    @Override
    public PrintWriter getWriter() throws IOException {
        return new PrintWriter(new OutputStreamWriter(outputStream, "UTF-8"));
    }
}
Run Code Online (Sandbox Code Playgroud)

还有我的ServletOutputStream,它使用StringBuilder构建String:

public class ServletOutputStreamEx extends ServletOutputStream {

    StringBuilder stringBuilder;

    public ServletOutputStreamEx() {
        this.stringBuilder = new StringBuilder();
    }

    @Override
    public void write(int b) throws IOException {
    } …
Run Code Online (Sandbox Code Playgroud)

java concurrency freemarker

5
推荐指数
1
解决办法
1万
查看次数

Freemarker - 访问对象的静态变量

我有一个简单的类:

public class MyClass {

     public final static long MAIN = 1;

     @Setter @Getter
     protected int id;
}
Run Code Online (Sandbox Code Playgroud)

@Setter @GetterlombokSetter 和 Getter 方法的注释。)

在 Freemarker 模板中,我想创建一个条件,如:

<#if myClassInstance.id == myClassInstance.MAIN>
Run Code Online (Sandbox Code Playgroud)

但是if表达式的右侧是根据 FreeMarker 未定义的。有没有办法做到这一点?谢谢!

freemarker

5
推荐指数
1
解决办法
7720
查看次数

PIG:从一个分组的包中取出所有元组

我正在使用PIG从元组生成组,如下所示:

a1, b1
a1, b2
a1, b3
...

->

a1, [b1, b2, b3]
...
Run Code Online (Sandbox Code Playgroud)

这很容易且有效.但我的问题是获得以下内容:从获得的组中,我想在组的包中生成一组所有元组:

a1, [b1, b2, b3]

->

b1,b2
b1,b3
b2,b3
Run Code Online (Sandbox Code Playgroud)

如果我可以嵌套"foreach"并首先迭代每个组然后遍历它的包,这将很容易.

我想我误解了这个概念,我将非常感谢你的解释.

谢谢.

apache-pig

5
推荐指数
1
解决办法
1万
查看次数

当bean实现与Spring的某些接口时,无法自动装配字段

我在我的Java应用程序中使用Spring,所有@Autowired注释一直工作到现在.

简化的例子是:

  @Component
  public class MyBean implements MyInterface {
      ...
  }

  @Component
  public class MyOtherBean {
      @Autowired
      private MyBean myBean;
      ...
  }
Run Code Online (Sandbox Code Playgroud)

一旦我尝试启动应用程序,我得到:

java.lang.IllegalArgumentException: Can not set MyBean field MyOtherBean.myBean to $ProxyXX

  1. 该接口只包含两个公共简单方法,该类实现它们.
  2. 这两个类都是公共的,并且有公共默认构造函数.(我甚至试图在测试中实例化它们.
  3. 删除该implements部分后,一切正常.

接口的实现有什么问题?什么是$ProxyXX

spring dependency-injection autowired

5
推荐指数
1
解决办法
5782
查看次数

Hibernate默认值

是否有一种方法可以使用hibernate为每个字段定义默认值,并且为了数据库大小,写入null而不是这些默认值?

对于inst.假设String的默认值是"".我希望Hibernate:

  1. 为每个字段返回"",在数据库中为NULL.
  2. 当我尝试写""时写入NULL给数据库

当然,我可以编写成千上万的Getters和Setter,但它可以自动完成吗?

java hibernate jpa

5
推荐指数
1
解决办法
1万
查看次数

字体“底部填充”比预期大

我最近Proxima Nova为我的项目购买了字体,但在垂直对齐时遇到问题。如果我将所有边距、行高和填充与 完全一样设置Arial,则不会得到相同的结果,并且字体未对齐。您可以看到Arial很好地居中,并且 的Proxima nova底部填充比顶部填充更大。

我想这是字体的问题 - 问题是 - 我怎样才能克服这个问题?我需要重做字体吗?我可以设置一些 css 属性来解决这个问题吗?

我创建了一个页面来演示该问题:

http://fonts.knyt.tl/

在此输入图像描述 编辑

我的问题是 - 有没有一种方法可以全局“配置字体”以获得正确的填充,这样一旦我决定更改字体,我就不必重写整个 css 代码?或者我是否必须编辑字体文件才能实现此目的?

html css fonts less

5
推荐指数
1
解决办法
2931
查看次数

Tomcat套接字侦听超时

我们刚刚从JDK8更新到JDK11,我们的Tomcat开始报告此警告(我们使用Docker image tomcat:9-jre11-slim):

2019-04-17 10:17:35.060 WARNING [:tomcat] org.apache.catalina.core.StandardServer The socket listening for the shutdown command experienced an unexpected timeout [256] milliseconds after the call to accept(). Is this an instance of bug 56684?
java.net.SocketTimeoutException: Accept timed out
    at java.base/java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.base/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)
    at java.base/java.net.ServerSocket.implAccept(ServerSocket.java:551)
    at java.base/java.net.ServerSocket.accept(ServerSocket.java:519)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:607)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:722)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:668)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
Run Code Online (Sandbox Code Playgroud)

警告中提到的错误#56684涉及以下内容:https ://bz.apache.org/bugzilla/show_bug.cgi?id=56684- 可能是固定的,并且不太相关。

  1. 我们可以忽略此错误吗?看来这只是Tomcat内部的东西。
  2. 如果是这样,放入其中是否足够logging.properties
org.apache.catalina.core.StandardServer = SEVERE
Run Code Online (Sandbox Code Playgroud)

java tomcat java-11

5
推荐指数
1
解决办法
135
查看次数

卡夫卡使消费者保持平衡

我们的小组中有10个消费者在听一个话题。经常发生的事情是看到消费者非常频繁地重新平衡(这在一段时间内完全停止了消费者的过程)。

# ./kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092  --describe  --group ParserKafkaPipeline | grep -e ParserBody | sort
ParserBodyToParse 0          99              99              0               consumer-1-f29b7eb7-b871-477c-af52-446fbf4b0496  /10.12.18.58    consumer-1
ParserBodyToParse 1          97              97              0               consumer-10-6639ee02-8e68-40e6-aca1-eabd89bf828e /10.12.18.58    consumer-10
ParserBodyToParse 2          97              97              0               consumer-11-c712db8b-0396-4388-9e3a-e8e342355547 /10.12.18.58    consumer-11
ParserBodyToParse 3          97              98              1               consumer-12-0cc6fe12-d640-4344-91c0-f15e63c20cca /10.12.18.58    consumer-12
ParserBodyToParse 4          97              98              1               consumer-13-b904a958-141d-412e-83ea-950cd51e25e0 /10.12.18.58    consumer-13
ParserBodyToParse 5          97              98              1               consumer-14-7c70ba88-8b8c-4fad-b15b-cf7692a4b9ce /10.12.18.58    consumer-14
ParserBodyToParse 6          98              98              0               consumer-15-f0983c3d-8704-4127-808d-ec8b6b847008 /10.12.18.58    consumer-15
ParserBodyToParse 7          97              97              0               consumer-18-de5d20dd-217c-4db2-9b39-e2fdbca386e9 /10.12.18.58    consumer-18
ParserBodyToParse …
Run Code Online (Sandbox Code Playgroud)

java apache-kafka kafka-consumer-api

5
推荐指数
2
解决办法
374
查看次数