假设一个简单的Grails域类:
class Account {
String countryId;
String userName;
String password;
static constraints = {
...???...
}
}
Run Code Online (Sandbox Code Playgroud)
要求用户名对于特定countryId是唯一的,因此在两列上必须存在唯一约束.如何在约束定义中表达这一点?
orm grails unique-constraint grails-validation grails-domain-class
我开始以MVP风格(GWTP)开发GWT应用程序,并在服务器端使用Spring安全性进行身份验证和授权.
在应用程序的许多视图中,我必须启用或禁用关于当前用户的授权权限的控件.我已经有了一个RPC服务,它提供对包含所有必要信息的userDetailsDto的访问.
现在我的问题是:在客户端存储用户DTO的最佳位置是什么?
由于用户权限在许多演示者中是相关的,我将不得不在任何地方传递它.或者,我可以在每个演示者中设置RPC服务实例,并且每次都重新获取用户详细信息(可能在客户端缓存).但我不喜欢为每个演示者提供用户RPC服务的想法.
说实话,我宁愿选择一个中央注册表来放置UserDetails对象,并且可以在我的应用程序的任何地方访问它.GWT中是否已有这样的注册表?
在我的示例中,您可能经常遇到水平使用的对象.如何在GWT中处理它们?
我目前正在制定一个软件组件规范,该组件将使用亚马逊MWS将电子商务公司的产品目录与亚马逊商城同步.
根据MWS开发人员文档,发布产品需要提交最多6个不同的源,这些源是异步处理的:
我的问题涉及MWS文件中的以下段落:
产品Feed是在亚马逊上设置产品的第一步.所有后续目录Feed都取决于此Feed的成功与否.
我想知道它意味着什么?至少有两种可能性:
您是否必须等到产品Feed成功处理后再提交后续Feed?这意味着必须定期请求处理状态,直到完成为止.这可能需要数小时,具体取决于亚马逊的Feed大小和服务器负载.同步产品的过程会更复杂.
您能否按一个顺序立即发送所有Feed,亚马逊会注意以合理的顺序处理它们?在这种解释中,文档只是告诉显而易见的是,让我们说特定SKU的图像馈送处理取决于插入SKU本身的成功与否.
有很多类似的问题集中在一个方面进行优化,但是每个解决方案都有一个丑陋的缺点。
假设我想开发一个XML模式(XSD),该模式允许以下文档,并希望使用XJC生成类:
<Catalogue>
<Book>...</Book>
<Journal>...</Journal>
<Book>...</Book>
...
</Catalogue>
Run Code Online (Sandbox Code Playgroud)
模式应为类型层次结构建模(Book并且Journal是的子类Publication)。自然,生成的Java类也应该如此。
我尝试了以下所有主要问题的方法:
1.)建模目录,以包含xsd:choice所有可能的子类型。
<xsd:complexType name="Catalogue">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="Book" />
<xsd:element ref="Magazine" />
</xsd:choice>
</xsd:complexType>
<xsd:element name="Publication" abstract="true" type="Publication" />
<xsd:element name="Book" type="Book"/>
<xsd:element name="Magazine" type="Magazine"/>
<xsd:complexType name="Publication">
<xsd:sequence></xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Book">
<xsd:complexContent>
<xsd:extension base="Publication">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
...
Run Code Online (Sandbox Code Playgroud)
这里的问题是,我必须提到choice元素中所有可能的子类型,这在实际应用中可能很多。一个较小的问题是,尽管该Catalogue属性具有正确的类型,List<Publication>但其名称却很丑陋bookAndMagazine。由于冗余的架构定义,因此不是一种选择!
2.)建模目录以包含xsd:sequence父类的
<xsd:complexType name="Catalogue">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="Publication" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)
仅当XML文档的格式为时,这才起作用<Publication xsi:type="Book"...>。因此,别无选择! …
我将 Spring 与 Hibernate 一起使用。在我的 DAO 中,我定义了一个会话工厂找不到的 NamedQuery,尽管我已将该 DAO 的包添加到了 packagesToScan。
我的道:
/**
*
*/
package org.lalala.service.mytest;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.lalala.objects.Unit;
@NamedQueries
({
@NamedQuery
(
name="unit.findById",
query="from Unit u where u.unitid = :unitId"
)
})
public class MyTestDaoImpl implements MyTestDao
{
private SessionFactory sessionFactory;
public MyTestDaoImpl(SessionFactory sessionFactory)
{
super();
this.sessionFactory = sessionFactory;
}
/* (non-Javadoc)
* @see org.lalala.service.mytest.MyTestDao#getRandomUnit()
*/
@Override
public Unit getRandomUnit()
{
long unitid = 2891;
try {
Session session …Run Code Online (Sandbox Code Playgroud) 在 JasperReports 中,我喜欢以current-page /total-pages样式呈现页码。研究官方演示,您可以找到以下使用三个的解决方案TextFields(因为没有内置的页数变量)
<!-- Right aligned current page -->
<textField>
<reportElement x="100" width="40" .../>
<textElement textAlignment="Right" ... />
<textFieldExpression class="java.lang.String">
<![CDATA[String.valueOf($V{PAGE_NUMBER})]]>
</textFieldExpression>
</textField>
<!-- Centered aligned slash -->
<staticText>
<reportElement x="140" width="5" .../>
<textElement textAlignment="Center" ... />
<text>
<![CDATA[/]]>
</text>
</staticText>
<!-- Left aligned total number pages (evaluationTime="Reports") -->
<textField evaluationTime="Report">
<reportElement x="145" width="40"/>
<textElement textAlignment="Left" ... />
<textFieldExpression class="java.lang.String">
<![CDATA[String.valueOf($V{PAGE_NUMBER})]]>
</textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
但是,只有当完整的分页信息相对于页面居中(中间有斜线)时,这才可以正常工作。我想要实现的是以总页数到右边框具有恒定距离的方式右对齐整个组。
如何实现这一目标?
在昨天这个类似的问题之后,我有另一个关于XML模式和XJC绑定中的继承的问题.
给出以下选择元素,使Book和Journal具有共同的父类型(Publication).
<xsd:choice >
<xsd:element name="Book" type="Book" />
<xsd:element name="Journal" type="Journal" />
</xsd:choice>
Run Code Online (Sandbox Code Playgroud)
生成的Java类属性如下:
private Book book;
private Journal journal;
Run Code Online (Sandbox Code Playgroud)
因为<xsd:choice>意味着可能有一个Book或一个Journal我更喜欢
private Publication bookOrJournal;
Run Code Online (Sandbox Code Playgroud)
如果我通过maxOccurs="unbounded"在choice元素中设置了一个Publications列表,它会以这种方式工作,我会得到
private List<Publication> bookOrJournal;
Run Code Online (Sandbox Code Playgroud)
如何使用非集合属性实现此目的?
在JFreeChart中,我正在使用该setRenderAsPercentage(true)选项StackedBarRenderer.虽然绘图本身看起来很好(所有条形都跨越整个图),但是范围轴标签没有显示百分比值(即0到100),而是显示概率(即0到1).
我怎样才能达到百分比值?
inheritance ×2
jaxb ×2
xjc ×2
xsd ×2
grails ×1
gwt ×1
hibernate ×1
jfreechart ×1
jpa ×1
named-query ×1
orm ×1
percentage ×1
plot ×1
spring ×1